gpt4 book ai didi

sql 一个表的两列引用另一个表中的同一列

转载 作者:行者123 更新时间:2023-12-02 22:01:57 24 4
gpt4 key购买 nike

我有这两张表

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 的结构的 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

SQLFiddle (SQL服务器)

SQLFiddle (MySql)

关于sql 一个表的两列引用另一个表中的同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16808917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com