1

我有这两张桌子

tbl_link

    pID | fID_a | fID_b | link_desc
     1  |  1    |  2    |  aa + bb

tbl_structure

    pID | desc
     1  |  a
     2  |  b

fID_a 和 fID_b 是 tbl_structure 中 pID 的外键 fID_a 不允许 NULL 值,而 fID_b 允许

我在查询结构 1 时尝试检索结构 2 的描述

我现在的 sql 查询看起来像这样

SELECT a.link_desc, tbl_structure.desc FROM tbl_strukture 
LEFT JOIN tbl_link as a ON tbl_structure.pID = a.fID_a 
LEFT JOIN tbl_link as b ON tbl_structure.pID = b.fID_b 
WHERE tbl_structure.pID = 1

但我只得到 pID 1 的结构的描述!

谢谢你的帮助!

4

1 回答 1

4

你在找这个吗?

SELECT l.link_desc, 
       s.[desc] description1,
       s2.[desc] description2
  FROM tbl_link l LEFT JOIN tbl_structure s 
    ON l.fID_a = s.pID LEFT JOIN tbl_structure s2 
    ON l.fID_b = s2.pID 
WHERE s.pID = 1

SQLFiddle (SQL 服务器)

SQLFiddle (MySql)

于 2013-05-29T08:43:17.793 回答