Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SQL在where子句中为2个不同的列指定2个不同的条件,两者都必须为true_Sql Server 2008_Tsql_Where Clause - Fatal编程技术网

Sql server 2008 SQL在where子句中为2个不同的列指定2个不同的条件,两者都必须为true

Sql server 2008 SQL在where子句中为2个不同的列指定2个不同的条件,两者都必须为true,sql-server-2008,tsql,where-clause,Sql Server 2008,Tsql,Where Clause,如何编写sql查询以仅返回表中的行 例如,其中A列不为null,B列不为0 我的写作方式是: where A is not null AND B !=0 但问题是,查询结果还消除了只有一个条件为真的行,例如a列为null,但b列不是0,反之亦然 我需要查询只删除(而不是返回)满足where子句两个条件的行 我只希望从查询中得到的结果是表中的行,其中A列不为NUll,B列不为=0,但我需要满足这两个条件,而不仅仅是其中一个条件如果我理解正确,您正在寻找: where A is not null

如何编写sql查询以仅返回表中的行

例如,其中A列不为null,B列不为0

我的写作方式是:

where A is not null AND B !=0 
但问题是,查询结果还消除了只有一个条件为真的行,例如a列为null,但b列不是0,反之亦然

我需要查询只删除(而不是返回)满足where子句两个条件的行


我只希望从查询中得到的结果是表中的行,其中A列不为NUll,B列不为=0,但我需要满足这两个条件,而不仅仅是其中一个条件如果我理解正确,您正在寻找:

where A is not null AND B <> 0  

如果我理解正确,您正在寻找:

where A is not null AND B <> 0  
我需要查询。。。不返回同时包含两行的行 满足我的where条款的条件

听起来你想否定WHERE子句。像这样:

WHERE NOT (A IS NOT NULL AND B !=0)
这可以在不使用双负片的情况下重写:

WHERE (A IS NULL OR B = 0 OR B IS NULL)
我需要查询。。。不返回同时包含两行的行 满足我的where条款的条件

听起来你想否定WHERE子句。像这样:

WHERE NOT (A IS NOT NULL AND B !=0)
这可以在不使用双负片的情况下重写:

WHERE (A IS NULL OR B = 0 OR B IS NULL)

有人在这里发布了这个答案,但他们删除了它(不知道为什么?),但他们的答案奏效了

WHERE NOT(A is null AND B=0)
我试着用

where A is not null AND B <> 0   

谢谢

有人在这里发布了这个答案,但后来他们删除了它(不知道为什么?),但他们的答案奏效了

WHERE NOT(A is null AND B=0)
我试着用

where A is not null AND B <> 0   

谢谢

@armit Bhargave如果只有1个条件为真,我不希望因为我的where子句而删除任何行。我只希望在两个条件都为true时(对于表中的特定行),不返回该行。我得到的记录很少,因为只满足1个条件的行也不会返回。请提供示例数据和所需的输出。@armit Bhargave如果只有1个条件为真,我不希望因为where子句而删除任何行。我只希望在两个条件都为true时(对于表中的特定行),不返回该行。我得到的记录很少,因为只满足1个条件的行也没有返回。请提供示例数据和所需的输出。我认为应该是或B=0。我只希望我从查询中得到的结果是表中的行,其中A列不为NUll,B列不为0,但我需要满足这两个条件,而不仅仅是其中一个Theme我认为应该是或B=0我只希望我从查询中得到的结果是A列不为NUll且B列不为0的表中的行,但我需要满足这两个条件,而不仅仅是其中一个条件我最终不得不按照您的建议使用where not子句,但我不希望我的结果包括A为NUll且B=0的任何行所以我不得不使用WHERE NOT(A为null,B=0)我最终不得不按照您的建议使用WHERE NOT子句,但我不希望我的结果包含A为null,B=0的任何行,所以我不得不使用WHERE NOT(A为null,B=0)