• MS SQL Server树型结构数据显示的SQL语句(纯SQL语句,不用函数)


    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班

  • 相关阅读:
    CF601B Solution
    CF847F Solution
    CF877D Solution
    CF1472F Solution
    CF1472G Solution
    CF1355E Solution
    CF912D Solution
    CF1167F Solution
    shell脚本自动备份MySQL数据库
    centos7 crontab笔记
  • 原文地址:https://www.cnblogs.com/cyz1980/p/285117.html
Copyright © 2020-2023  润新知