3
我有3個表:SELECT類別從映射表
categories:
ID, category
"1","Cars"
"2","Trucks"
"3","Bikes"
"4","Planes"
"5","Boats"
users:
ID, username
"1","john"
"2","bob"
"3","billy"
users_categories:
ID, userid, categoryid
"1","1","2"
"2","1","5"
"3","2","3"
"4","3","2"
"5","3","4"
"6","3","5"
Q1。我要的是:
john,Trucks,Boats
bob,Bikes
billy,Trucks,Planes,Boats
我來此。一個Concat的類別會做。
SELECT U.`username`, (SELECT C.`category` FROM `categories` C LEFT JOIN `users_categories` UC ON C.`ID` = UC.`categoryid` WHERE U.ID = UC.userid) FROM `users` U
,但我得到#1242 - 子查詢返回多個1行。
Q2。有沒有更好的方法來構造這個?不會超過50-100個類別。
哇!這很快,它的工作原理!謝謝。 – EPQRS
不客氣:D –
我想知道爲什麼SqlFiddle的執行計劃陳述'使用臨時;使用filesort'當它可以按排序順序生成結果? –