我需要有关SQL Server查询的帮助。我正在尝试根据将表与另一个外部源(表2)左连接的结果来更新现有表(#Masterfile)。第6行基本上是一个标志,用于说明ID是否存在于表b中。我是sql的新手(几周前才开始学习),所以我的语法可能很基础。我离开了#Masterfile与感兴趣的新表(表2),然后选择结果(并更新column6_flag)。
但是,我得到了错误,将语句(a.column6_flag = x.column9不为NULL则为1否则0结束的情况)识别为罪魁祸首。任何帮助将非常感激!!!我尝试查看语法是否再次出现的情况,但无法确定其产生错误的原因。当我注释掉部分查询的情况时,它可以工作。
再次感谢!
--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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句