mysql - 连接表并根据值将同一列获取到更多列

标签 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

我该怎么做,我使用左连接来连接表。我使用mySql

最佳答案

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

关于mysql - 连接表并根据值将同一列获取到更多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882622/

相关文章:

java - JDBC 如何在带有 where 子句的准备好的语句中使用占位符?

mysql - 选择作为子项没有特定值的记录

mysql - Mysql 中的条件扇出过滤器

sql - 如何判断一个员工是不是经理?

php - 来自多个类别的项目最佳实践

php - SQL LIMIT 返回 'zero' - 0 - 行(在 PHP 中)

java - 注册期间生成唯一 ID

python - 在不同的目录中合并 pandas csv

android - 在ListView中添加搜索: crashed when typing word

MySQL 连接返回从另一个表链接的不同 ID