SQL 初学者,但有机会创建自己的数据库。
所以我有一张发票表,其引用编号相似但状态代码编号不同。
表格发票:
Reference Status Code Status Date
10198053 300 08/07/2013
10198053 500 08/09/2013
我希望输出显示:
表格发票:
Reference Status Code Status Date Status Date 2
10198053 300 08/07/2013 08/09/2013
代码:
select reference r, status Code s, status Date,
case
when r=r and s=s (???)
from Table Invoice
最佳答案
假设您需要查看 300 的日期和 500 的日期,您可以根据每个 Status_Code 聚合两列:
SELECT
Reference,
MIN(CASE WHEN Status_Code = '300' THEN Status_Date ELSE NULL END) AS Status_Date_300,
MIN(CASE WHEN Status_Code = '500' THEN Status_Date ELSE NULL END) AS Status_Date_500
FROM Invoice
GROUP BY Reference;
如评论中所述,这可能会根据您要查找的内容的具体要求而改变 - 但是,这应该可以帮助您入门。
SQL Fiddle测试以上内容。
关于mysql - 两行数据合二为一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755887/