连接表并根据值获取相同列到更多列

时间:2013-06-02 12:08:50

标签: mysql join

让我说我加入两个表并得到像

这样的结果
id   vendor vendor_id quantity 
1    Sony          1       25 
1    Apple         2       12  
1    HTC           3        5  

我希望结果像

id Quantity_Sony Quantity_Apple Quantity_HTC
1             25             12            5

我怎么能这样做,我使用Left连接来加入表格。我使用mySql

1 个答案:

答案 0 :(得分:0)

SELECT  ID,
        MAX(CASE WHEN vendor = 'Sony' THEN Quantity END) Quantity_Sony,
        MAX(CASE WHEN vendor = 'Apple' THEN Quantity END) Quantity_Apple,
        MAX(CASE WHEN vendor = 'HTC' THEN Quantity END) Quantity_ATC
FROM
        (
         -- add your existing query here
        ) x
GROUP   BY ID