mysql (My)SQL:对同一表的两次不同数据到特定列的查询

bihw5rsg  于 2022-12-10  发布在  Mysql
关注(0)|答案(1)|浏览(147)

我还是个新手,但我希望查询结果如下:

输入表

ID|名称|日期1|日期2
-|-|
1|A|1-2-2023|1-5-2023
2|B|2-2-2023|2-5-2023
3|C|3-2-2023|3-5-2023

预期产量

ID|名称|日期
-|-|
1|A|1-2-2023
2|B|2-2-2023
3|C|3-2-2023
1|A|1-5-2023
2|B|2-5-2023
3|C|3-5-2023
我已经用MySQL创建了数据库,但我在查询方面遇到了困难。(就像这样特意把两张table连在一起)
我怎样才能得到如上的查询结果?

ukdjmx9f

ukdjmx9f1#

您可以联合您的查询-这是通过将结果堆叠在彼此的顶部来工作的,允许我们从每个结果中选择日期列。
通过添加SOURCE列,我们可以将它们合并到派生表中,并使用它来对数据进行排序,如图所示。

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;

查看demo fiddle

相关问题