我正在尝试检索具有子变量的表中的所有行,其中这些行的外键等于具有父变量的表中的行的主键。
从图形上看,它看起来像这样:
表 1。此表包含父行。
ID | variable | variable | etc.
1 | XX | BB | ...
2 | YY | AA | ...
表 2。该表包含子行。
ID | FK (parent) | variable | etc.
1 | 1 | BB | ...
2 | 1 | AA | ...
3 | 1 | AA | ...
4 | 2 | AA | ...
5 | 3 | AA | ...
我显然不是 SQL 专家,我通常用另一种编程语言做的是编写一个循环,循环遍历父表中的每一行,然后检查子表是否有匹配。然而,我不知道这里最有效的方法是什么。父表将有 50 多行。子表有 8000 多行。
更新:我想将子表中的相关数据转储到新表中。所以我不想要一个包含父表和子表数据的组合表,这就是我认为的 JOIN。
更新2:我设法通过以下方式得到了我想要的东西:
INSERT INTO NewTable
select columns
from ChildrenTable t
inner join ParentTable p
on t.parentId = p.Id
感谢您的帮助!
最佳答案
你可以这样尝试-
Select * from table1 left join table2 on table1.id = table2.fk
关于mysql - 根据 MySQL 中的 ID 列表检索行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194473/