Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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表(sql server)_Sql_Sql Server - Fatal编程技术网

使用来自左联接的结果更新sql表(sql server)

使用来自左联接的结果更新sql表(sql server),sql,sql-server,Sql,Sql Server,我需要有关SQL server查询的帮助。我试图根据左键将表与另一个外部源(表2)连接的结果来更新现有表(#Masterfile)。第6行基本上是一个表示表b中是否存在ID的标志。我是sql新手(几周前才开始学习),所以我的语法可能非常基本。我左键将#主文件与新的感兴趣表(表2)连接在一起,然后选择结果(并更新column6_标志) 但是,我得到了一个错误,将语句(,a.column6_flag=case,当x.column9不为NULL时,则为1,否则为0结束)确定为罪魁祸首。任何帮助都将不胜

我需要有关SQL server查询的帮助。我试图根据左键将表与另一个外部源(表2)连接的结果来更新现有表(#Masterfile)。第6行基本上是一个表示表b中是否存在ID的标志。我是sql新手(几周前才开始学习),所以我的语法可能非常基本。我左键将#主文件与新的感兴趣表(表2)连接在一起,然后选择结果(并更新column6_标志)

但是,我得到了一个错误,将语句(,a.column6_flag=case,当x.column9不为NULL时,则为1,否则为0结束)确定为罪魁祸首。任何帮助都将不胜感激!!!我试图再次查看case when语法,但无法确定它产生错误的原因。当我注释掉查询的case部分时,它就工作了

再次感谢

--Insert into #MasterFile 
 select distinct
     a.column1
     , a.column2
     , a.column3
     , a.column4
     , a.column5
     , a.column6_flag = case when x.column9 is not NULL  then 1 else 0 end
     , a.column7
     , x.column9
from 
    #Alldata a
left join 
    (select m.column9
     from #Masterfile m
     left join table2 n on m.id = n.id) x on a.id = x.id

您只需将箱子四处移动,如下所示:

select distinct
a.column1
, a.column2
, a.column3
, a.column4
, a.column5
, case when x.column9 is not NULL  then 1 else 0 end AS column6_flag
, a.column7
, x.column9
from #Alldata a
left join 
(
select 
m.column9
from #Masterfile m
left join table2 n
on m.id=n.id
) x
on a.id=x.id

a.column6_标志
替换为仅
column6_标志

column6_flag = case when x.column9 is not NULL  then 1 else 0 end
试试这个

SELECT DISTINCT column1,
                column2,
                column3,
                column4,
                column5,
                column6_flag = CASE
                                 WHEN x.column9 IS NOT NULL THEN 1
                                 ELSE 0
                               END,
                column7,
                x.column9
FROM   #Alldata a
       LEFT JOIN (SELECT m.id,
                         m.column9
                  FROM   #Masterfile m
                         LEFT JOIN table2 n
                                ON m.id = n.id) x
              ON a.id = x.id