我似乎無法弄清楚這一點對我的生活:XGROUP_CONCAT來自多個子查詢?
我有兩個表..
- 1 =標籤鏈接
- 2 =標籤數據
當我查詢配置文件時,每個配置文件可以在標籤鏈接表中包含多個條目。 一旦我檢索到標籤鏈接,我想從標籤數據表中獲取標籤文本。如果分配給用戶,這樣是不完全的解決方案,因爲每個查詢需要5 SELECT * FROM platform.tagWords WHERE tagId IN (SELECT tagId FROM platform.user sProfilesTags WHERE userId = 1001)
但經過每個標籤(約50,000),然後檢查:
我可以做到這一點8秒。
有沒有辦法扭轉這種情況?
任何提示或建議將不勝感激。
在此先感謝!
*更新
所以我想這給了加入刺,但我堅持有太多:P
SELECT
GROUP_CONCAT(tagWords.tagWord SEPARATOR ', ') AS tags,
usersProfiles.*
FROM platform.users u
INNER JOIN platform.usersProfilesTags ON usersProfilesTags.userId = u.userId
INNER JOIN platform.usersProfiles ON usersProfiles.userId = u.userId
INNER JOIN platform.tagWords ON tagWords.tagId = usersProfilesTags.tagId
WHERE u.userName = 'mattstest'
您提到了配置文件,但表格是標記數據? – 2010-12-16 00:05:06
是的,另一個(始發表)是usersProfiles,我從中獲取userId以查找從標記鏈接錶鏈接的標記。 – 2010-12-16 00:18:56
什麼是表模式(表的'CREATE'語句)?加入聲明的結果不是你想要的嗎? – outis 2010-12-16 01:58:00