table A
--------------
aid  | computer
--------------
1    | hp
--------------
2    | sony
--------------table B
--------------
aid  | color
--------------
1    | red
--------------
1    | black
--------------
2    | white
--------------如何得出下面的结果?多谢
------------------------------------------
aid  | computer  |  color
------------------------------------------
1    | hp      |  red;black
------------------------------------------
2    | sony    |  white
------------------------------------------

解决方案 »

  1.   

    select a.aid,a.computer,b. color  from A a inner join 
       (
         select aid,group_concat(color separator ';') as color from B group by aid 
      )b
    on a.aid=b.aid
      

  2.   

    select a.aid,a.computer,group_concat(b.color)
    from A,B
    where a.aid=b.aid
    group by a.aid
      

  3.   

    select a.aid,a.computer,group_concat(b.color separator ';')
    from TA A INNER JOIN TB B ON a.aid=b.aid
    group by a.aid,a.computer