2013-05-29 86 views
0

我有这2个表SQL两人在另一个表中一个表引用同一列的列

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外键为PID在tbl_structure fID_a不允许NULL值,而fID_b确实

我想查询结构时检索结构2的递减1

此刻我的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结构的desc!

感谢您的帮助!

回答

2

你在找吗?

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 Server)的

SQLFiddle(MySQL的)

+0

...其中s1.pID = 1和它的作品!谢谢! – Markus

+0

@MarkusHölzner不客气。很高兴帮助:) – peterm

相关问题