所以我有3个表,如下所示:
表1-猫-具有以下结构:
id name plural_name
0 painters painters
1 builders builders
表2-位置-具有以下结构
place_id place_name classification
243 painter comp painters
230 builder comp builders
表3-rel_place_cat-具有以下结构
id place_id cat_id
0 243 0
1 230 1
所以基本上我需要运行一个SQL命令来查找表1中的类别ID号和表2中的place_id并将数据插入表3中
可以做到吗?
谢谢
答案 0 :(得分:0)
类似:
insert into table3(place_id, cat_id)
select place_id, cat_id
from(select place_id, cat_id
from table1
inner join table2 on table1.name = table 2.classification)
应该工作。
答案 1 :(得分:0)
是否要使插入也可重复?
然后,您也可以加入关系表。
并且仅插入缺少的关系。
示例查询:
INSERT INTO rel_place_cat (place_id, cat_id)
SELECT p.place_id, c.id
FROM cats c
JOIN places p ON p.classification = c.plural_name
LEFT JOIN rel_place_cat r ON (r.place_id = p.place_id AND r.cat_id = c.id)
WHERE r.id IS NULL
GROUP BY p.place_id, c.id;
不确定将“分类”加入“ plural_name”还是“ name”会更好。
在示例中它们还是一样。
但是“分类”中的这些值都是复数,因此将“ plural_name”用于连接。