gpt4 book ai didi

mysql - SOQL - 从具有多个日期列的行返回具有一个日期列的行

转载 作者:行者123 更新时间:2023-11-29 06:00:07 24 4
gpt4 key购买 nike

问题

我有这张子表:

+------+------------+------------+
| Name | Date_A | Date_B |
+------+------------+------------+
| John | 2017-08-13 | 2017-08-14 |
| Mary | 2017-08-12 | 2017-08-15 |
+------+------------+------------+

我想得到这个结果:

+------+------------+
| Name | Date |
+------+------------+
| Mary | 2017-08-12 |
| John | 2017-08-13 |
| John | 2017-08-14 |
| Mary | 2017-08-15 |
+------+------------+

研究

我已经搜索了几个小时,我所能找到的只是复杂的行拆分,其中包含将多行合并为一行的函数或解决方案,但这与我的问题完全相反。

我已经研究过使用 UNION ALL、GROUP BY、ORDER BY、CONNECT BY 和 INNER JOIN 的解决方案,但没有一个符合我的需求。

我确信解决方案很简单,但我找不到正确的查询!


注意事项

查询必须包含简单的 soql 并且只调用数据库一次才能工作。

编辑:不幸的是,SOQL 不支持 UNION 关键字 :(


编辑:解决方案

使用SOQL似乎没有办法解决这个问题,只能发出多个请求并手动合并结果。

使用 SQL,我们只需要使用 UNION(如以下答案所示),但 SOQL 目前不支持。

最佳答案

一个选项使用UNION:

SELECT Name, Date_A AS Date
FROM yourTable
UNION ALL
SELECT Name, Date_B
FROM yourTable

这里的技巧是将两个日期列(及其相关名称)堆叠在一起。

关于mysql - SOQL - 从具有多个日期列的行返回具有一个日期列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com