SQL按分隔字元拆分欄位串

來源:互聯網
上載者:User

標籤:sele   HERE   des   nio   color   bsp   split   business   var   

CREATE   VIEW [dbo].[Split_BusinessUnit]AS    WITH tt    AS (       SELECT BusinessUnit.BusinessUnitId            , BusinessUnit.BusinessUnitId zz_id            , BusinessUnit.new_name            , BusinessUnit.ParentBusinessUnitId            , 1 lev       FROM   BusinessUnit       WHERE  IsDisabled = 0       UNION ALL       SELECT tt.BusinessUnitId            , b.BusinessUnitId            , b.new_name            , b.ParentBusinessUnitId            , lev + 1       FROM   tt              JOIN BusinessUnit AS b                  ON tt.ParentBusinessUnitId = b.BusinessUnitId       WHERE  IsDisabled = 0 )       , ttt    AS ( SELECT BusinessUnitId              , CAST(zz_id AS VARCHAR(60)) zz_id              , new_name              , ROW_NUMBER() OVER ( PARTITION BY BusinessUnitId                                    ORDER BY lev DESC ) lev         FROM   tt )    SELECT   BusinessUnitId           , MAX(lev) lev           , MAX(CASE WHEN lev = 1 THEN zz_id                      ELSE NULL                 END) lev1id           , MAX(CASE WHEN lev = 1 THEN new_name                      ELSE NULL                 END) lev1           , MAX(CASE WHEN lev = 2 THEN zz_id                      ELSE NULL                 END) lev2id           , MAX(CASE WHEN lev = 2 THEN new_name                      ELSE NULL                 END) lev2           , MAX(CASE WHEN lev = 3 THEN zz_id                      ELSE NULL                 END) lev3id           , MAX(CASE WHEN lev = 3 THEN new_name                      ELSE NULL                 END) lev3           , MAX(CASE WHEN lev = 4 THEN zz_id                      ELSE NULL                 END) lev4id           , MAX(CASE WHEN lev = 4 THEN new_name                      ELSE NULL                 END) lev4           , MAX(CASE WHEN lev = 5 THEN zz_id                      ELSE NULL                 END) lev5id           , MAX(CASE WHEN lev = 5 THEN new_name                      ELSE NULL                 END) lev5           , MAX(CASE WHEN lev = 6 THEN zz_id                      ELSE NULL                 END) lev6id           , MAX(CASE WHEN lev = 6 THEN new_name                      ELSE NULL                 END) lev6           , MAX(CASE WHEN lev = 7 THEN zz_id                      ELSE NULL                 END) lev7id           , MAX(CASE WHEN lev = 7 THEN new_name                      ELSE NULL                 END) lev7           , MAX(CASE WHEN lev = 8 THEN zz_id                      ELSE NULL                 END) lev8id           , MAX(CASE WHEN lev = 8 THEN new_name                      ELSE NULL                 END) lev8           , MAX(CASE WHEN lev = 9 THEN zz_id                      ELSE NULL                 END) lev9id           , MAX(CASE WHEN lev = 9 THEN new_name                      ELSE NULL                 END) lev9           , MAX(CASE WHEN lev = 10 THEN zz_id                      ELSE NULL                 END) lev10id           , MAX(CASE WHEN lev = 10 THEN new_name                      ELSE NULL                 END) lev10    FROM     ttt    GROUP BY BusinessUnitId;

 

SQL按分隔字元拆分欄位串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.