Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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

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中select查询中的case语句_Sql_Sql Server - Fatal编程技术网

sql中select查询中的case语句

sql中select查询中的case语句,sql,sql-server,Sql,Sql Server,我有一个存储过程将数据从一个表加载到另一个表 我需要根据select语句的两个值设置目标表的列值,如下例所示 insert into table table_name ( value1, value 2,value 3) select (value 1,value2 , case value3 when value1 = 'somevalue' &&* value2 = 'somevalue' then 'x' else 'y' End from table_nam

我有一个存储过程将数据从一个表加载到另一个表

我需要根据select语句的两个值设置目标表的列值,如下例所示

insert into table table_name
( value1, value 2,value 3)

select (value 1,value2 ,
case value3 

when value1 = 'somevalue' &&* value2 = 'somevalue'

then 'x' 

else 'y'
End

from table_name.
有人能帮我找到如何根据同一个select查询中的前两个列值更新中的a列吗

我试图理解下面的示例,但未能解析

INSERT INTO HumanResources.departmentcopy  
( DepartmentID,GroupName,Name,temp)

SELECT DepartmentID,GroupName,Name,
CASE temp
WHEN  DepartmentID = 1 && Name = 'Engineering and Research'
THEN 'sucessful'
ELSE 'unsucessful'
END
FROM HumanResources.department
帮我一把

谢谢,
Venkat在SQL中无效。使用
附加条件

INSERT INTO HumanResources.departmentcopy( DepartmentID,GroupName,Name,temp)
    SELECT  DepartmentID,
            GroupName,
            Name, 
            CASE
                WHEN DepartmentID = 1 AND Name = 'Engineering and Research' THEN 'sucessful' 
                ELSE 'unsucessful' 
                END 
            FROM HumanResources.department
你非常接近:

INSERT INTO HumanResources.departmentcopy(DepartmentID, GroupName, Name, temp)
SELECT  DepartmentID,
        GroupName,
        Name,
        CASE WHEN DepartmentID = 1 AND Name = 'Engineering and Research'
        THEN 'sucessful' ELSE 'unsucessful' END
FROM HumanResources.department

这仍然是错误的,您需要使用
CASE WHEN
,而不是
CASE temp WHEN
@Lamak谢谢。格式化后,我不小心把它忘在了里面。已编辑。@lamak:
CASE temp WHEN
是可能的,但是您需要从
WHEN
部分中删除列名:@a_horse_with_no_name我知道
CASE WHEN..
是可能的,但是对于这个问题没有意义
INSERT INTO HumanResources.department(DepartmentID, GroupName, Name, temp)

SELECT  DepartmentID,
        GroupName,
        Name,

CASE WHEN DepartmentID = 1 AND Name = 'Engineering and Research'

THEN 'sucessful' ELSE 'unsucessful' END

FROM HumanResources.department