有两个表:u_case和schedule 在u_case.cs_caseid = schedule.sd_caseid上,u_case和schedule之间存在一对多的关系 数据库是SqlServer
我需要在u_case.cs_chapter中使用13的所有记录 但是在u.schedule.sd_class中没有“dline”或者在schedule.sd_type中没有“pln13”。
此EXACT查询在WinSQL中有效并返回22条记录。 使用ColdFusion时,相同的EXACT查询返回2条记录(通过cfdump验证)
有没有关于为什么Coldfusion有这个问题以及如何修复它的建议?我发现了一些关于这个问题的疑问。
SELECT a.cs_caseid, a.cs_case_number, a.cs_date_filed, a.cs_short_title, a.cs_office, a.cs_type
FROM u_case a
WHERE a.cs_chapter = 13
AND a.cs_date_term is null
AND 0 = (
select count(b.sd_caseid)
from schedule b
WHERE b.sd_caseid = a.cs_caseid
AND b.sd_class = "dline"
and b.sd_type = "pln13"
)
我在三台服务器(2 CF10和1 CF9)上遇到此问题。我还有其他查询,这发生...通常CF查询不返回任何记录。
提前谢谢。
答案 0 :(得分:0)
我想知道CF是否在解析你所拥有的奇怪的SQL格式时遇到了麻烦?试试这个:
SELECT a.cs_caseid, a.cs_case_number, a.cs_date_filed, a.cs_short_title, a.cs_office, a.cs_type
FROM u_case a
WHERE a.cs_chapter = 13
AND a.cs_date_term is null
AND NOT EXISTS (
SELECT 1
FROM schedule b
WHERE b.sd_caseid = a.cs_caseid
AND b.sd_class = "dline"
AND b.sd_type = "pln13"
)