通过CROSS连接两个表将值插入第三个表

时间:2013-06-04 09:30:25

标签: mysql sql database

我希望通过交叉连接两个表Table_C将值插入Table_A and Table_B

Table_A contains two attributes ID and item.
Table_B contains two attributes ID and color.
Table_C contains four attributes ID,item,color,quantity.

所有IDs都有AUTO INCREMENT

假设每个项目都可以包含所有color,我需要创建关于它的关系。 我该怎么写这个查询?我如何引用交叉加入itemcolor的关系。 我的解决方案是创建一个连接这两个表的中间第三个表,然后使用该表将值插入Table_C。但我很确定有一个更好的优化解决方案。

提前致谢。

2 个答案:

答案 0 :(得分:2)

不需要临时表......你可以这样做:

insert into ...
select ... from ...

编写您需要“填写”您提到的临时表的查询,并将行直接插入最终表格。

答案 1 :(得分:1)

这是对我有用的查询。

INSERT INTO Table_C (SELECT null, Table_A.item, Table_B.color, null FROM 
Table_A CROSS JOIN Table_B);