日期:2014-05-17  浏览次数:20386 次

大家帮忙看看这个SQL怎么写(取最明细数据)
有一个表结构

ID            名称           父ID
01            集团            0
0101          公司1         01
010101         生产部         0101
01010101          A班        010101
0102          公司2          01
010201         采购部          0102
0103          公司3          01
0104          公司4          01

怎么通过语句,直接查询出下列数据
01010101    A班              010101
010201      采购部           0102
0103        公司3          01
0104        公司4          01

------解决方案--------------------
自己连接自己,ID=父ID
------解决方案--------------------

 CREATE TABLE T_CSDN_ONE
 (
    ID VARCHAR(50),
    MC VARCHAR(100),
    PID VARCHAR(50)
 )
 
 INSERT INTO T_CSDN_ONE
 SELECT
 '01','集团','0'
 UNION ALL
 SELECT
 '0101','公司1','01'
  UNION ALL
 SELECT
 '010101','生产部','0101'
  UNION ALL
 SELECT
 '01010101','A班','010101'
  UNION ALL
 SELECT
 '0102','公司2','01'
  UNION ALL
 SELECT
 '010201','采购部','0102'
  UNION ALL
 SELECT
 '0103','公司3','01'
  UNION ALL
 SELECT
 '0104','公司4','01'
 
 
 SELECT * FROM T_CSDN_ONE WHERE ID NOT IN 
 (
    SELECT PID FROM T_CSDN_ONE
 )