我想在查询中仅排除零值,但还要保留NULL。 我尝试了一些可行的方法。它里面有一些“ JOIN”。 但是,它们似乎都产生不同的结果。输出具有不同数量的某些值。
例如可以说,一个选项为 COLUMN1 提供10行,其值为'A',5行为'B',3行为'C'。另一个选项为我提供了7行值“ A”和9行“ B”和2行“ C”。哪一个最合适(或都不适合?),为什么:
哪里..
和a.exitreason <>'0'或a.exitreason为空
和(a.exitreason <>'0'或a.exitreason为空)
and(isull(a.exitreason,'')<>'0'或a.exitreason为空)
还是将其包含在查询的JOIN部分中(表LocalOffice)?
谢谢!
SELECT DISTINCT s.PeriodDate,s.Number,SiteID,
s.LocalID,s.Appointment,s.Agreement,s.AgreementCode,a.ExitReason
FROM Office s
INNER JOIN Employer e ON s.PeriodDate=e.PeriodDate AND s.EmployerID=e.EmployerID
LEFT JOIN LocalOffice a ON a.LocalOfficeID=a.LocalOfficeID
WHERE.....
答案 0 :(得分:0)
您为特定案例提供的详细信息尚不清楚,但是关于您尝试过的WHERE语句,它们给出了正确的结果集(逻辑上他们要求的是不同的结果)。
根据您的初始描述,您希望给定值为0或NULL的所有行,第二个条件可以帮助您。