A表
CatalogID   CatalogName                                     ParentCatalogID
----------- ---------------------------------------------- ---------------
10          可领用资产                                           0
11          电子类设备                                           10
12          办公家具                                             10
13          办公一体化                                           10
14          笔记本                                                11
15          台式机                                                11
16          服务器                                                11
17          办公桌                                                12
18          办公纸                                                12
19          办公一体化设备                                        13
22          rrr                                                    0
23          444                                                    11
24          555                                                    14B表
DeviceID    CatalogID   DeviceName                  DeviceDesc
----------- ----------- --------------------------- -------------
8           14          IBM笔记本                    配制一般,没得说了
9           14          海尔笔记本                   配制一般,没得说了
10          15          IBM台式机                    配制一般,没得说了
11          16          IBM服务器                    配制一般,没得说了
12          17          IBM办公桌                    配制一般,没得说了
想要的结果是:(由CatalogID = 14 的条件得到的,具体说是由A表中的CatalogID=14找到A到对应的ParentCatalogID=14 记录 并与B表中的CatalogID=14 的记录联合在一起)名称(CatalogName)    配置信息(DeviceDesc)
555                   null
IBM笔记本             配制一般,没得说了
海尔笔记本            配制一般,没得说了

解决方案 »

  1.   

    SELECT CatalogID,CatalogName FROM A WHERE ParentCatalogID=14
    UNION ALL
    SELECT DeviceName,DeviceDesc FROM B WHERE CatalogID=14
      

  2.   

    --麼看懂耶...難道是??
    select CatalogName,null as DeviceDesc from A where ParentCatalogID=14
    union all
    select DeviceName ,DeviceDesc from B where CatalogID=14
      

  3.   

    直接查B表CatalogID=14不就完了?select * from B表 where CatalogID=14
      

  4.   

    SELECT BB.CatalogName DeviceName,NULL AS DeviceDesc  FROM A AA INNER JOIN A BB ON BB.ParentCatalogID=AA.CatalogID WHERE AA.CatalogID =14
    UNION ALL
    SELECT DeviceName,DeviceDesc FROM B WHERE CatalogID=14