简体   繁体   中英

Change SSIS Transformation to SQL Query

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.

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