Mar*_*kus 2 sql foreign-keys left-join
我有这2张桌子
tbl_link
pID | fID_a | fID_b | link_desc
1 | 1 | 2 | aa + bb
tbl_structure
pID | desc
1 | a
2 | b
Run Code Online (Sandbox Code Playgroud)
fID_a 和 fID_b 是 tbl_struct 中 pID 的外键 fID_a 不允许 NULL 值,而 fID_b 允许
我试图在查询结构 1 时检索结构 2 的 desc
我现在的 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
Run Code Online (Sandbox Code Playgroud)
但我只得到了 PID 为 1 的结构的 desc!
感谢您的帮助!
您在找这个吗?
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
Run Code Online (Sandbox Code Playgroud)
SQLFiddle(SQL 服务器)
SQLFiddle(MySql)