Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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 Where条件_Sql - Fatal编程技术网

具有多个条件的SQL Where条件

具有多个条件的SQL Where条件,sql,Sql,我有一个SQL查询,如下所示:我的要求是,如果Development env是DEV,那么where子句中的条件应该是Date您可以创建一个单独的表,比如ENVIRONMENT table,来存储它是什么环境 在DEV中,该表如下所示- 钥匙 价值 环境名称 发展 插入@TableA(ID) 选择不同的ID 来自EMP 哪里 ((Env!=“DEV”)和((Act_标志=0)或(Act_标志=1和日期

我有一个SQL查询,如下所示:我的要求是,如果Development env是DEV,那么where子句中的条件应该是Date您可以创建一个单独的表,比如ENVIRONMENT table,来存储它是什么环境

在DEV中,该表如下所示-

钥匙 价值 环境名称 发展
插入@TableA(ID)
选择不同的ID
来自EMP
哪里
((Env!=“DEV”)和((Act_标志=0)或(Act_标志=1和日期
请添加DBMS标签或工具标签。您可以使用some子句获取系统名称,并像这样使用它
Where case when SERVER_HOST='PROD.xx.com'和((Act_flag=1和date)与您的问题无关,但:
distinct
不是一个函数。它始终适用于选择列表中的所有列。用括号括住其中一列不会改变任何内容,也没有任何用处。
distinct(a),b
distinct a,(b)相同
不同的a、b
谢谢Rajiv,我们可以在上述所有条件下使用CASE station来完成吗。其中(Act_flag=1和DateINSERT INTO @TableA (ID) SELECT DISTINCT(ID) FROM EMP WHERE (Act_flag = 1 AND Date < GETDATE() - 100) OR Act_flag = 0
INSERT INTO @TableA (ID) 
    SELECT DISTINCT ID
    FROM EMP
    WHERE 
((Env != 'DEV') AND ((Act_flag = 0) OR (Act_flag = 1 AND Date < GETDATE() - 100))) 
OR 
((Env = 'DEV') AND ((Act_flag = 0) OR (Act_flag = 1 AND Date < GETDATE() - 500)))