說我有2個表,A和B,每個實體可能有多個B實體,在一種情況下,如果我想獲得某些特定A的所有B,我可以用一個簡單的左連接SQL左連接和結果中的重複
select A.id aid,B.id bid from A
left join B on B.aid = A.id
where A.id = 1
,它會返回一個結果集,像
aid bid
1 1
1 2
1 3
正如你所看到的第一列,所有1的是有點重複。是否可以修改SQL語句讓他返回結果,如
aid bid
1 1,2,3
換句話說就是將所有出價作爲一個實體鏈接在一起?
還什麼,如果有另一臺C,且每個A可以有多個C的,怎麼我讓SQL返回設置像
aid bid cid
1 1,2,3 1,2
,而不是
aid bid cid
1 1 1
1 2 1
1 3 1
1 1 2
1 2 2
1 3 2
結果非常感謝你許多!
group_concat會有任何性能問題嗎? – Shawn 2009-02-07 10:05:04