sql server 2000 - Dynamic sql statement to generate multiple large case statements -




i staging data legacy sql server 2000 system i'm limited on how can write following query. came query viable solution doesn't use temp tables after posted question yesterday. i need sql server 2000 compatible alternative cte query

i need write type of query many tables , there instances have upwards of 20 nested case statements. there way can use dynamic sql generate these queries? otherwise i'm not sure it's going can maintain. here's example. thank you!

select cst.*       ,modifieddatetime = case                               when dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(dim.modifiedtime, ''), coalesce(dim.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(dlm.modifiedtime, ''), coalesce(dlm.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(dlt.modifiedtime, ''), coalesce(dlt.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(dnc.modifiedtime, ''), coalesce(dnc.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(itl.modifiedtime, ''), coalesce(itl.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(pdg.modifiedtime, ''), coalesce(pdg.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(pyt.modifiedtime, ''), coalesce(pyt.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(ssp.modifiedtime, ''), coalesce(ssp.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(tgh.modifiedtime, ''), coalesce(tgh.modifieddate, ''))                                , dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, '')) > dateadd(second, coalesce(vig.modifiedtime, ''), coalesce(vig.modifieddate, '')) dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, ''))                               else case                                        when dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(dim.modifiedtime, ''), coalesce(dim.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(dlm.modifiedtime, ''), coalesce(dlm.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(dlt.modifiedtime, ''), coalesce(dlt.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(dnc.modifiedtime, ''), coalesce(dnc.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(itl.modifiedtime, ''), coalesce(itl.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(pdg.modifiedtime, ''), coalesce(pdg.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(pyt.modifiedtime, ''), coalesce(pyt.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(ssp.modifiedtime, ''), coalesce(ssp.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(tgh.modifiedtime, ''), coalesce(tgh.modifieddate, ''))                                         , dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, '')) > dateadd(second, coalesce(vig.modifiedtime, ''), coalesce(vig.modifieddate, '')) dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, ''))                                        else case                                                 when dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(dim.modifiedtime, ''), coalesce(dim.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(dlm.modifiedtime, ''), coalesce(dlm.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(dlt.modifiedtime, ''), coalesce(dlt.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(dnc.modifiedtime, ''), coalesce(dnc.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(itl.modifiedtime, ''), coalesce(itl.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(pdg.modifiedtime, ''), coalesce(pdg.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(pyt.modifiedtime, ''), coalesce(pyt.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(ssp.modifiedtime, ''), coalesce(ssp.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(tgh.modifiedtime, ''), coalesce(tgh.modifieddate, ''))                                                  , dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, '')) > dateadd(second, coalesce(vig.modifiedtime, ''), coalesce(vig.modifieddate, '')) dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, ''))                                                 else case                                                          when dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(dim.modifiedtime, ''), coalesce(dim.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(dlm.modifiedtime, ''), coalesce(dlm.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(dlt.modifiedtime, ''), coalesce(dlt.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(dnc.modifiedtime, ''), coalesce(dnc.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(itl.modifiedtime, ''), coalesce(itl.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(pdg.modifiedtime, ''), coalesce(pdg.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(pyt.modifiedtime, ''), coalesce(pyt.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(ssp.modifiedtime, ''), coalesce(ssp.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(tgh.modifiedtime, ''), coalesce(tgh.modifieddate, ''))                                                           , dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, '')) > dateadd(second, coalesce(vig.modifiedtime, ''), coalesce(vig.modifieddate, '')) dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, ''))                                                          else case                                                                   when dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(dim.modifiedtime, ''), coalesce(dim.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(dlm.modifiedtime, ''), coalesce(dlm.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(dlt.modifiedtime, ''), coalesce(dlt.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(dnc.modifiedtime, ''), coalesce(dnc.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(itl.modifiedtime, ''), coalesce(itl.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(pdg.modifiedtime, ''), coalesce(pdg.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(pyt.modifiedtime, ''), coalesce(pyt.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(ssp.modifiedtime, ''), coalesce(ssp.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(tgh.modifiedtime, ''), coalesce(tgh.modifieddate, ''))                                                                    , dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, '')) > dateadd(second, coalesce(vig.modifiedtime, ''), coalesce(vig.modifieddate, '')) dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, ''))                                                                   else case                                                                            when dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(chd.modifiedtime, ''), coalesce(chd.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(cms.modifiedtime, ''), coalesce(cms.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(cpm.modifiedtime, ''), coalesce(cpm.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(csg.modifiedtime, ''), coalesce(csg.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(cst.modifiedtime, ''), coalesce(cst.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(dim.modifiedtime, ''), coalesce(dim.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(dlm.modifiedtime, ''), coalesce(dlm.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(dlt.modifiedtime, ''), coalesce(dlt.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(dnc.modifiedtime, ''), coalesce(dnc.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(itl.modifiedtime, ''), coalesce(itl.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(pdg.modifiedtime, ''), coalesce(pdg.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(pyt.modifiedtime, ''), coalesce(pyt.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(ssp.modifiedtime, ''), coalesce(ssp.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(tgh.modifiedtime, ''), coalesce(tgh.modifieddate, ''))                                                                             , dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, '')) > dateadd(second, coalesce(vig.modifiedtime, ''), coalesce(vig.modifieddate, '')) dateadd(second, coalesce(ctg.modifiedtime, ''), coalesce(ctg.modifieddate, ''))                                                                        end                                                               end                                                      end                                             end                                    end                           end dbo.custtable                           cst      left join dbo.cashdiscount              chd on chd.cashdiscountcode    = cst.cashdiscount                                                 , chd.companyid           = cst.companyid      left join dbo.commissionsalesgrouptable cms on cms.groupid             = cst.salesgroup                                                 , cms.companyid           = cst.companyid      left join dbo.custpaymmodetabletable    cpm on cpm.paymmode            = cst.paymmode                                                 , cpm.companyid           = cst.companyid      left join dbo.customergroup             csg on csg.customergroup       = cst.customergroup                                                 , csg.companyid           = cst.companyid      left join dbo.custstatisticsgrouptable  ctg on ctg.custstatisticsgroup = cst.statisticsgroup                                                 , ctg.companyid           = cst.companyid 





wiki

Comments

Popular posts from this blog

Asterisk AGI Python Script to Dialplan does not work -

python - Read npy file directly from S3 StreamingBody -

kotlin - Out-projected type in generic interface prohibits the use of metod with generic parameter -