簡體   English   中英

SQL / SSRS 2008-如何在WHERE子句中將2個條件組合成一個條件?

[英]SQL / SSRS 2008 - How to combine 2 conditions into a single condition in the WHERE clause?

我有一個看起來很簡單的要求,但我無法使它正常工作。 我想在我的結果集中排除滿足兩個條件的特定記錄,請單擊以下圖片查看我當前的結果集: https : //i.stack.imgur.com/z93m3.png 我要排除任何同時具有Selling_price£84.99和vat_value£40.83的行,在我的情況下,這意味着我希望排除結果集圖像的最后一行。

我嘗試使用以下代碼作為我的SQL代碼:

SELECT     created_by, sales_order_number, sales_order_credit_line, qty_credited, sales_order_line, selling_price, vat_value

FROM         sales_order_credit

WHERE    (selling_price <> 84.99 AND vat_value <> 40.83)

但是,一旦我去運行查詢,查詢設計器就會將我的代碼重新格式化為:

SELECT     created_by, sales_order_number, sales_order_credit_line, qty_credited, sales_order_line, selling_price, vat_value

FROM         sales_order_credit

WHERE     (selling_price <> 84.99) AND (vat_value <> 40.83)

因為我的代碼現在是這樣寫的,所以它排除了所有售價為£84.99的行和所有vat_value為£40.83的行,這不是我想要的-我只想排除同時滿足這兩個條件的行。

我以前曾遇到過這個問題,但從未知道應該怎么做-真的很感謝您的幫助。

雅各布

編輯-評論回應

VKP-感謝您的建議,當我添加您的代碼時,它更改為:

SELECT     created_by, sales_order_number, sales_order_credit_line, qty_credited, sales_order_line, selling_price, vat_value
FROM         sales_order_credit
WHERE     (NOT (selling_price = 84.99)) 
          OR
          (NOT (vat_value = 40.83))

再一次,它需要將兩者置於完全獨立的條件(由OR分隔)中-這不是我正在尋找的東西

無處不在的開發人員 -有所不同,如果執行代碼的重新格式化版本,它將排除第4行和第2行,而我只希望第4行被排除,因為它同時滿足這兩個條件,而第2行僅滿足其中一個條件(selling_price)

WHERE(銷售價格<> 84.99)或(vat_value <> 40.83)

自己嘗試: rextester

我認為接下來要針對您的情況做正確的事情:

SELECT     created_by, sales_order_number, sales_order_credit_line,  qty_credited, sales_order_line, selling_price, vat_value
FROM         sales_order_credit
WHERE     NOT (selling_price = 84.99 AND vat_value = 40.83)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM