SOQL - 一个日期列从行与多个日期列返回行
问题
我有这样的子表:SOQL - 一个日期列从行与多个日期列返回行
+------+------------+------------+
| 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 |
+------+------------+
研究
I'v我一直在寻找几个小时,所有我能找到的是复杂的行拆分功能或解决方案将多行合并成一个,但这与我的问题完全相反。
我已经研究过使用UNION ALL,GROUP BY,ORDER BY,CONNECT BY和INNER JOIN的解决方案,但没有一个符合我的需求。
我相信解决方案很简单,但我找不到正确的查询!
注
查询必须包含简单SOQL只有调用数据库一次为它工作。
编辑:UNION关键字不支持SOQL不幸:(
编辑:解
似乎有使用SOQL反而使多个请求并手动对这个问题无解合并的结果。
通过SQL,我们将只需要使用UNION(如下面的答案),但这不是由SOQL现在支持。
一种选择使用UNION
:
SELECT Name, Date_A AS Date
FROM yourTable
UNION ALL
SELECT Name, Date_B
FROM yourTable
这里的关键是要相互叠放的两个日期列(及其相关的名称)。
这与传统的SQL完美结合。不幸的是,我忘了确切它是sOql而不是sql,这意味着我不能使用UNION ...... :( –
你确定吗?大多数框架通常允许执行原始查询。如果不是这样,我会感到惊讶可能 –
我与Salesforce一起工作,我可以使用SOQL执行一个原始查询,如果我使用UNION,会引发错误,说它不可用。 –
select name,date_a as date date from table_name union select name,date_b as date from table_name; – tibetty