I want to change transformer in SSIS package below to SQL query :
(TYPTRF == "O" ? (NUMCPT_ORD == "4000328702" ? "005000DY" : (ISNULL(NUMCLI_ORD) ? "" : NUMCLI_ORD)) : (NUMCPT_BEN == "4000328702" ? (ISNULL(NUMCLI_BEN_BAN) ? "" : NUMCLI_BEN_BAN) : (ISNULL(NUMCLI_BEN) ? "" : NUMCLI_BEN)))
Please help me. I'm a newbie in SSIS
Thanks.
SQL Case
CASE WHEN TYPTRF = 'O'
THEN CASE WHEN NUMCPT_ORD = '4000328702'
THEN '005000DY'
ELSE CASE WHEN NUMCLI_ORD is null
THEN ''
ELSE NUMCLI_ORD END
END
ELSE CASE WHEN NUMCPT_BEN = '4000328702'
THEN CASE WHEN NUMCLI_BEN_BAN is null
THEN ''
ELSE NUMCLI_BEN_BAN END
ELSE CASE WHEN NUMCLI_BEN is null
THEN ''
ELSE NUMCLI_BEN END
END
END
Edited (MS SQL):
CASE WHEN TYPTRF = 'O'
THEN CASE WHEN NUMCPT_ORD = '4000328702'
THEN '005000DY'
ELSE isnull(NUMCLI_ORD, '')
END
ELSE CASE WHEN NUMCPT_BEN = '4000328702'
THEN isnull(NUMCLI_BEN_BAN,'')
ELSE isnull(NUMCLI_BEN,'')
END
END
AND like Gareth said you can do something like this:
CASE WHEN TYPTRF = 'O'
THEN CASE WHEN NUMCPT_ORD = '4000328702'
THEN '005000DY'
ELSE isnull(NUMCLI_ORD, '')
END WHEN NUMCPT_BEN = '4000328702'
THEN isnull(NUMCLI_BEN_BAN,'')
ELSE isnull(NUMCLI_BEN,'')
END
you'll need lot of case statements !
try like this !
select case when TYPTRF='O' then NUMCPT_ORD='4000328702' else '005000DY' end,
case when ISNULL(NUMCLI_ORD)='' then 'NUMCLI_ORD' else end,
case when NUMCPT_BEN ='4000328702' then '' else NUMCLI_BEN_BAN end,
case when (ISNULL(NUMCLI_BEN)='' then '' else NUMCLI_BEN end
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.