Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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,其中基于案例_Sql_Sql Server - Fatal编程技术网

SQL Server,其中基于案例

SQL Server,其中基于案例,sql,sql-server,Sql,Sql Server,如果PARAM等于1,则要搜索TAX='asd'的所有行,否则搜索TAX'asd'的所有行(不是'asd'的每一行) 大概是这样的: WHERE TAX ( CASE WHEN PARAM = '1' THEN = 'asd' ELSE <> 'asd' END) 在哪里 税( 案例 当PARAM='1' 然后='asd' “自闭症” (完) 无需使用案例语句,只需使用括号和或 SELECT * FROM

如果PARAM等于1,则要搜索TAX='asd'的所有行,否则搜索TAX'asd'的所有行(不是'asd'的每一行)

大概是这样的:

WHERE
  TAX (
     CASE
        WHEN PARAM = '1'
           THEN = 'asd'
        ELSE <> 'asd'
     END)
在哪里
税(
案例
当PARAM='1'
然后='asd'
“自闭症”
(完)

无需使用
案例
语句,只需使用括号和

SELECT *
FROM yourtable
WHERE (TAX = 'asd' AND PARAM = '1') OR (TAX != 'asd')

无需使用
大小写
语句,只需使用括号和

SELECT *
FROM yourtable
WHERE (TAX = 'asd' AND PARAM = '1') OR (TAX != 'asd')

您可以使用布尔逻辑添加
where
子句:

WHERE (PARAM = 1 AND TAX = 'asd') OR
      (PARAM <> 1 AND TAX <> 'asd');
其中(PARAM=1,TAX='asd')或
(参数1和税“asd”);

如果
参数
具有数字类型,则不需要包含
'

您可以使用布尔逻辑添加
where
子句:

WHERE (PARAM = 1 AND TAX = 'asd') OR
      (PARAM <> 1 AND TAX <> 'asd');
SELECT *
FROm table
WHERE (TAX = 'asd' AND PARAM IN (1))
OR (TAX <> 'asd' AND PARAM NOT IN (1))
其中(PARAM=1,TAX='asd')或
(参数1和税“asd”);
如果
参数
具有数字类型,则不需要包含
'

选择*
SELECT *
FROm table
WHERE (TAX = 'asd' AND PARAM IN (1))
OR (TAX <> 'asd' AND PARAM NOT IN (1))
从桌子上 式中(税=‘asd’和(1)中的参数) 或(税“asd”和参数不在(1)中)
选择*
从桌子上
式中(税=‘asd’和(1)中的参数)
或(税“asd”和参数不在(1)中)

这可以通过或和一些括号来实现:

WHERE (PARAM = 1 AND TAX = 'asd')
OR (TAX <> 'asd')
其中(PARAM=1,TAX='asd')
或(asd税)

一定要考虑税收可能无效的情况,除非你的数据库设计明确禁止。

< P>这可以用或或和一些括号来实现:

WHERE (PARAM = 1 AND TAX = 'asd')
OR (TAX <> 'asd')
其中(PARAM=1,TAX='asd')
或(asd税)

一定要考虑税收可能无效的情况,除非数据库设计明确禁止。

注意:它将选择<代码>(税则,PARAM)=((FDS),‘1’’< /代码> @ SalmanA,他们没有指定他们不想要!asd&=1
CASE
语句(修复后)将产生与您发布的不同的结果。OP很清楚,如果参数为1,则他们需要asd,否则除asd以外的任何东西。注意:它将选择
(TAX,param)=('fds','1')
@SalmanA,他们没有指定他们不需要!=asd&=1
CASE
语句(修复后)将产生与您发布的不同的结果。OP很清楚,如果param为1,他们想要asd,除asd之外的其他任何东西。在
where
子句中使用
case
表达式通常是个坏主意。使用
/
结构。在
where
子句中使用
大小写
表达式通常是个坏主意。改用
/
结构。