繁体   English   中英

(my)SQL: 查询 2 次具有不同数据的同一个表到特定列

[英](my)SQL: query of 2 times the same table with different data to a specific column

我还是有点新,但我希望从查询中得到以下结果:

输入表

ID 姓名 日期 1 日期 2
1个 一种 1-2-2023 1-5-2023
2个 2-2-2023 2-5-2023
3个 C 3-2-2023 3-5-2023

预期输出

ID 姓名 日期
1个 一种 1-2-2023
2个 2-2-2023
3个 C 3-2-2023
1个 一种 1-5-2023
2个 2-5-2023
3个 C 3-5-2023

我已经在 MySQL 中创建了数据库,但我正在为查询而苦苦挣扎。 (像这样特地自己加入一张桌子)

我怎样才能得到如上的查询结果呢?

您可以合并您的查询 - 这通过将结果“堆叠”在彼此之上来实现,允许我们从每个结果中选择日期列。

通过添加列,我们可以将它们合并到派生表中,并使用它来对数据进行排序,如图所示。

select Id, Name, Date
from (
    select Id, Name, Date1 Date, 1 Source 
    from t
    union all
    select Id, Name, Date2, 2 Source 
    from t
)t
order by Source, Id;

查看演示小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM