我有两张桌子。
Table1
ID Text
Table2
ID ParentID Text
我正在尝试使用2个不同的列连接到同一个表两次。我想要Table1.ID = Table2.ID的所有行以及Table1.ID = Table2.ParentID的所有行。我尝试了以下但它没有返回任何行。当我在两个不同的select语句中运行下面的脚本时,每个语句只有一个连接,我得到我想要的结果,但不是在同一个select语句中。关于我做错了什么想法?
SELECT *
FROM Table 1
JOIN Table2 2
on 2.ID = Table1.ID
JOIN Table2 22
on 22.ParentID = Table1.ID
答案 0 :(得分:1)
您只获取表1是父ID和ID的记录......也许您想要:
SELECT
* FROM Table 1
JOIN Table2 2 on 2.ID = Table1.ID
UNION
SELECT
* FROM Table 1
JOIN Table2 22 on 22.ParentID = Table1.ID
或者可能是UNION ALL?
答案 1 :(得分:1)
您可以尝试此查询:
SELECT
*
FROM
TABLE1,
TABLE2
WHERE
TABLE1.ID = TABLE2.ID
OR
TABLE1.ID = TABLE2.ParentID
答案 2 :(得分:0)
你的走样有点偏。
放手一搏:
SELECT *
FROM Table 1
JOIN Table2 2
on 2.ID = 1.ID
JOIN Table2 22
on 22.ParentID = 1.ID
你可能仍然因为没有别名而SELECT *
出错...我建议SELECT 1.*
,甚至做SELECT 1.myColumn, 1.myColumn2
等等......