繁体   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