需要查询CTE的结果

时间:2016-08-10 19:41:04

标签: sql-server tsql common-table-expression

我有一张包含通话详情数据的表格。我创建了一个查询,根据所选语言(即英语,西班牙语)提取结果。这是通过使用语言ID定义AppLocationID(在本例中为294)字段来完成的。

有没有办法运行查询以下查询的返回结果?

select Count(*),AppLocationID, EventPayload
from IVRCallDetail_TEST 
where AppLocationID = '294' 
and (EventPayload = 'English' or EventPayload = 'Spanish')
group by AppLocationID, EventPayload

2 个答案:

答案 0 :(得分:1)

您的CTE专门查询AppLocationID是'''''''''''''''''''由于记录不能满足这两个条件,因此结果为零。

同样,您的CTE会查询AppLocationID为'英语'或者'西班牙语',您的外部查询选择来自CTE的记录,其EventPayload是' CP'或者' NCP',这是另一种不可能性。

如果您可以更准确地说明您想要实现的目标,也许我(或其他人)可以帮助您提出完成工作的查询。

答案 1 :(得分:1)

问题在于此CTE,您的EventPayLoad列的值是“英语”还是“西班牙语”

但是在CTE之后的SELECT语句中,指定(EventPayload ='CP'或EventPayload ='NCP')。但是,可用值仅为“英语”和“西班牙语”。当然,它会返回ZERO记录。