我有这个子表:
+------+------------+------------+
| 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。
答案 0 :(得分:2)
一个选项使用UNION
:
SELECT Name, Date_A AS Date
FROM yourTable
UNION ALL
SELECT Name, Date_B
FROM yourTable
这里的技巧是将两个日期列(及其相关名称)叠加在一起。