我想从我已经知道的 id 中获得结果。这是我的尝试(伪):
SELECT *
FROM main
LEFT JOIN child
WHERE main.id IN("1,2,3,4")
ON main.id = child.main_id
如何通过 WHERE IN 的已知 id 从 main 获取孩子?
谢谢帮助
我想从我已经知道的 id 中获得结果。这是我的尝试(伪):
SELECT *
FROM main
LEFT JOIN child
WHERE main.id IN("1,2,3,4")
ON main.id = child.main_id
如何通过 WHERE IN 的已知 id 从 main 获取孩子?
谢谢帮助
请试试这个,我认为你有错误的语法来满足你的需要。
SELECT * FROM main LEFT JOIN child ON main.id = child.main_id WHERE main.id IN(1,2,3,4)
ON
应该在JOIN
表格和IN
条件之后都没有"
环绕它。
第一个问题是您将字符串放在IN
分句中,而不是项目列表。
第二个问题是ON
分句必须在JOIN
分句之后,我猜。你可以尝试两种不同的方式(我认为你有点混合它们!):
SELECT * FROM main m, child c
WHERE m.id IN(1,2,3,4) AND c.main_id = m.id
或者
SELECT * FROM main m LEFT JOIN child c ON m.id = c.main_id
WHERE main.id IN(1,2,3,4)
我希望这有帮助。
我认为你想要得到的可以通过 2 个选项来实现:
1.
SELECT * FROM main LEFT JOIN child ON main.id = child.main_id WHERE main.id IN(1,2,3,4);
删除引号。
或者
2.
SELECT * FROM main JOIN child ON main.id = child.main_id AND main.id IN(1,2,3,4);