标题可能会让人困惑。
我有一个案例表,每个案例都可以包含很多任务。为了实现每个任务的不同工作流,我有不同的表,如Case_Emails、Case_Calls、Case_Chats等。
我想要构建一个最终将导出到Excel的查询。在这个查询中,我想列出每个任务,并且这些任务已经通过使用公共格式的另一个表中的UNION连接在一起。对于查询中的每个任务,我只希望与案例关联的第一个任务包含来自case表的详细信息。例子如下:
+----+---------+------------+-------------+-------------+-------------+
| id | Case ID | Agent Name | Task Info 1 | Task Info 2 | Task Info 3 |
+----+---------+------------+-------------+-------------+-------------+
| 1 | 4000000 | Some Name | Detailstuff | Stuffdetail | Thingsyo |
| 2 | | | Detailstuff | Stuffdetail | Thingsyo |
| 3 | | | Detailstuff | Stuffdetail | Thingsyo |
| 4 | 4000003 | Some Name | Detailstuff | Stuffdetail | Thingsyo |
| 5 | | | Detailstuff | Stuffdetail | Thingsyo |
| 6 | 4000006 | Some Name | Detailstuff | Stuffdetail | Thingsyo |
+----+---------+------------+-------------+-------------+-------------+我最初的方法是在Case ID上尝试左联接,但我想不出如何从额外的行中筛选出数据。
发布于 2017-04-21 17:08:32
发现可以将查询中的表命名如下:
FROM Case_Calls Calls使用另一个名称,我能够基于子查询进行筛选:
IIF( Calls.[ID] <> (select top 1 [ID] from Case_Calls where [Case ID] = Calls.[Case ID]), '', Cases.[Creator]) As [Case Creator]这个解决方案给了我我想要的结果:)它是相当丑陋的SQL,当我处理几十个列时很难解析,但是它完成了工作!
我还是很好奇有没有更好的解决办法..。
发布于 2017-04-21 16:02:41
无论什么时候加入,你都会有重复的值。若要删除重复项,请在“选择”中放入“独立”,或在筛选器后放入“组”。这将解决查询任务信息1、2、3中的重复项。
https://stackoverflow.com/questions/43546722
复制相似问题