2014-11-21 40 views
0

我想从STU_TYPCCASE更新new_BantuanKewanganSQL更新和CASE

UPDATE DMSTAG.dbo.TEMP_AKAUN_MARA 
SET [new_BantuanKewangan] = [STU_TYPC] 
FROM [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER] 
    (CASE 
    when [new_BantuanKewangan] = '00' then 'Yes' 
    when [new_BantuanKewangan] = '01' then 'No') 
    where DMSTAG.dbo.TEMP_AKAUN_MARA.STUDENTN = [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER].STUDENT 

错误

消息102,级别15,状态1,行6
附近有语法错误) ”。

+0

您在您的病例陈述中缺少END。除此之外,为什么你要从后面的案件陈述? – bsting 2014-11-21 03:24:12

+0

您是否试图根据'00'和'01'更新[new_BantuanKewangan]字段?如果是这样,那么你的声明可能是这样的 UPDATE DMSTAG.dbo.TEMP_AKAUN_MARA 集[new_BantuanKewangan] =(CASE \t当[new_BantuanKewangan] = '00',那么 '是' \t当[new_BantuanKewangan] = '01 。。“然后 '否' \t端) 从[SMBM_DBPELJ] [DBPELJ] [MSTUMASTER] 其中DMSTAG.dbo.TEMP_AKAUN_MARA.STUDENTN = [SMBM_DBPELJ] [DBPELJ] [MSTUMASTER] .STUDENT – bsting 2014-11-21 03:35:37

+0

@bsting:您代码是正确的。但是,我的情况是我想从SMBM_DBPELJ(tbl)STU_TYPC(字段)传输数据到TEMP_AKAUN_MARA(tbl)new_BantuanKewangan(字段)如何将上面的CASE与所有代码结合? – 2014-11-21 03:51:08

回答

0
UPDATE DMSTAG.dbo.TEMP_AKAUN_MARA 
SET DMSTAG.dbo.TEMP_AKAUN_MARA.[new_BantuanKewangan] = 
         (CASE 
         WHEN [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER].[STU_TYPC] = '00' THEN 'Yes' 
         WHEN [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER].[STU_TYPC] = '01' then 'No') 
FROM [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER] 
WHERE DMSTAG.dbo.TEMP_AKAUN_MARA.STUDENTN = [SMBM_DBPELJ].[DBPELJ].[MSTUMASTER].STUDENT