SELECT dpcode1+dpcode2+dpcode3 as 部門代碼,dpname1+dpname2+dpname3 as 部門名稱 FROM T_Dpt where dpname1 is not null and dpname2 is not null and dpname3 is not null union all SELECT dpcode1+dpcode2+dpcode3 as 部門代碼,dpname1+dpname2 as 部門名稱 FROM T_Dpt where dpname1 is not null and dpname2 is not null and dpname3 is null UNION ALL SELECT dpcode1+dpcode2+dpcode3 as 部門代碼,dpname1 as 部門名稱 FROM T_Dpt where dpname1 is not null and dpname2 is null and dpname3 is null;
運行結果:
部門代碼 部門名稱
01 外語系
0102 外語系日語專業
0102001 外語系日語專業0331班
0103 外語系商務英語
0103001 外語系商務英語0341班
0104 外語系教工
0103002 外語系商務英語0242班
附:
用到的基本表
CREATE TABLE [dbo].[T_Dpt] (
[DpCode1] [char] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[DpCode2] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[DpCode3] [char] (3) COLLATE Chinese_PRC_CI_AS NULL ,
[DpName1] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[DpName2] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[DpName3] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
) ON [PRIMARY]
樣本資料:
DpCode1 |
DpCode2 |
DpCode3 |
DpName1 |
DpName2 |
DpName3 |
01 |
|
|
外語系 |
null |
null |
01 |
02 |
|
外語系 |
日語專業 |
null |
01 |
02 |
001 |
外語系 |
日語專業 |
0331班 |
01 |
03 |
|
外語系 |
商務英語 |
null |
01 |
03 |
001 |
外語系 |
商務英語 |
0341班 |
01 |
04 |
|
外語系 |
教工 |
null |
01 |
03 |
002 |
外語系 |
商務英語 |
0242班 |