我有一個存儲過程,它計算的文檔數不完整(1000)或取消(1100)。當我只有其中一個條件時,它會正確計數,但是一旦我添加了or,它就會忽略忽略任何邏輯的所有內容。必須有一些基本的東西我在這裏與SQL丟失SQL中的WHERE子句忽略OR
SELECT
[PartnerCoId] as DisplayID
,[PartnerCompanyName] as DisplayName
,Count(*) as DocumentTotal
FROM vwDocuments
where coid = @inputCoid and DocumentType = 'order'
and Status <> 1100
and PartnerCoId <> @inputCoid
group by
[PartnerCoId]
,[PartnerCompanyName]
union all
SELECT [CoId] as DisplayID
,[CompanyName] as DisplayName
,Count(*) as DocumentTotal
FROM vwDocuments
where PartnerCoId = @inputCoid and DocumentType = 'order'
and Status <> 1100
and CoId <> @inputCoid
group by [CoId]
,[CompanyName]
order by [DisplayName]
這將返回未處於取消狀態的文件數。如果我將1100更改爲1000,則返回不完整狀態的文檔數量。一旦我將查詢更新爲:
and (Status <> 1100 or Status <> 1000)
它打破了邏輯。
想法?我已經嘗試了很多不同的查詢邏輯組合,並且無法理清這一點。
您是否嘗試將其更改爲AND?如果你想要所有的東西都不等於這兩者,它應該是AND。 –