此代码创建了错误。
错误代码:1052。where子句中的列“id”不明确
SELECT h1.name, h1.gender,h2.gender
FROM hampster h1, hampster h2,partner p
INNER JOIN partner on h1.ID = partner.ID1
INNER JOIN children on h2.ID = children.ID1
WHERE h1.id = p.id1
AND h2.id = p.id2
AND h1.gender = h2.gender
AND EXISTS (SELECT c.id1
FROM children c
WHERE c.id1 = p.id1
OR c.id1 = p.id2)
ORDER BY h1.gender, h1.name;
这是在我将hampsters h2添加到查询中时创建的。我的目标是使用inner join来组合hamspter表的两个示例,并且仍然使用'h1'和'h2'来引用它们。
这是查询的预期输出
h1.name h2.name gender
Alex King 0
Grant Alex 0
Jack Grant 0
Cathy Amy 1
Trish Amy 1
1条答案
按热度按时间cngwdvgl1#
在where条件中缺少表别名,服务器不知道您使用的是哪个id列。
试试这个:
其中h1.id=101