Sql server 需要查询CTE的结果

Sql server 需要查询CTE的结果,sql-server,tsql,common-table-expression,Sql Server,Tsql,Common Table Expression,我有一个包含调用详细信息数据的表。我创建了一个查询,根据所选语言(即英语、西班牙语)提取结果。这是通过使用语言ID定义AppLocationID(本例中为294)字段来实现的 是否有方法运行以下查询返回结果的查询 select Count(*),AppLocationID, EventPayload from IVRCallDetail_TEST where AppLocationID = '294' and (EventPayload = 'English' or EventPayload

我有一个包含调用详细信息数据的表。我创建了一个查询,根据所选语言(即英语、西班牙语)提取结果。这是通过使用语言ID定义AppLocationID(本例中为294)字段来实现的

是否有方法运行以下查询返回结果的查询

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

您的CTE专门查询
AppLocationID
为“294”的记录,外部查询从
AppLocationID
为“29”的CTE中选择记录。因为记录不可能同时满足这两个条件,所以得到的结果为零

同样,您的CTE查询
EventPayload
为“英语”或“西班牙语”的记录,您的外部查询从
EventPayload
为“CP”或“NCP”的CTE中选择记录,这是另一种不可能的情况


如果您能更仔细地说明您正试图实现的目标,也许我(或其他人)可以帮助您提出一个完成任务的查询。

您的CTE专门查询
AppLocationID
为“294”的记录,而您的外部查询则从
AppLocationID
为“29”的CTE中选择记录。因为记录不可能同时满足这两个条件,所以得到的结果为零

同样,您的CTE查询
EventPayload
为“英语”或“西班牙语”的记录,您的外部查询从
EventPayload
为“CP”或“NCP”的CTE中选择记录,这是另一种不可能的情况


如果您能更仔细地说明您正试图实现的目标,或许我(或其他人)可以帮助您提出一个查询,以完成任务。

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


但是在CTE之后的SELECT语句中,您指定了(EventPayload='CP'或EventPayload='NCP')。但是,可用的值只有“English”和“西班牙语”。当然,它会向您返回零记录。

问题在于此CTE,EventPayLoad列的值为“英语”或“西班牙语”


但是在CTE之后的SELECT语句中,您指定了(EventPayload='CP'或EventPayload='NCP')。但是,可用的值只有“English”和“西班牙语”。当然,它会向您返回零记录。

您可以查看此链接并了解如何改进问题。您可以查看此链接并了解如何改进问题。