mysql - 两行数据合二为一

标签 mysql sql

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/

相关文章:

javascript - scriptm 的 echo 功能下的警报在 php 中不起作用?

sql - 来自多个表的每月总计数 PostgreSQL

sql - bigint 的顺序 GUID

c# - 在 WPF 中使用另一个组合框所选项目填充组合框

MYSQL 从多个表中提取多个值

php - 密码加密方式? : PASSWORD() versus md5?

sql - Oracle中如何获取该变量的值?

SQL 选择一列中的多行

c# - 检查记录列是否有一些特殊值

MySQL:组合表1中的多个列并插入表2中的1列