繁体   English   中英

根据一些检查将数据从一个SQL表插入到另一个

[英]Inserting data from one SQL Table to another based on some checks

我有一个带有Ref#,EndDate,StepRespone,StepName之类的列的SQL表。 每天使用excel文件在SQL表中填充数据。

现在,我想将现有的SQL表用作登台表,因为我想对数据进行一些按摩和过滤。

我想将数据传输到另一台,如果StepName是BureauPull我要地图与Login_Date结束日期 ,如果StepName是L2我想与Decision_Date图吧。 Ref#是唯一列,如果新表中的记录不可用,那么我想按原样插入数据,如果可用,那么我想执行上述检查。

我尝试使用Merge并构建了以下查询,但它给了我语法错误。

MERGE od_test2 T --tareget
USING OD_TEST S --source
ON (S.ref = T.REF)
WHEN MATCHED 
THEN UPDATE
SET T.LOGIN_DATE = 
(CASE 
WHEN s.stepname IN ('BUREAUPULL') THEN CONVERT(VARCHAR,s.[ENDDATE]) 
ELSE CONVERT(VARCHAR,s.[LOGIN_DATE]) 
END S.LOGIN_DATE),
T.Decision_DAte = (CASE 
WHEN s.stepname IN ('l2','l3') THEN CONVERT(VARCHAR,s.[ENDDATE]) 
ELSE CONVERT(VARCHAR,s.[DECISION_DATE]) 
END S.DECISION_DATE)

WHEN NOT MATCHED
THEN INSERT (Target_Column_Names)
VALUES (Source_Column_Names)

除了使用Merge之外,还有其他任何方式可以做到这一点,但我不确定。 任何帮助将不胜感激。

谢谢

这是我在这里的第一个答案,因此我可能会偏离目标。 您是否尝试过JOIN(-INNER JOIN-LEFT JOIN-RIGHT JOIN)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM