如何从两个查询

时间:2017-09-11 11:27:52

标签: mysql outer-join insert-into

不确定如何撰写问题。

我有这3张桌子:

PICTURES
id
name

MATERIALS
id
name

PICTURES_MATERIALS
picture_id
material_id

我有数千张照片和5种材料,大部分照片都有所有材料。 使用此查询,我发现大约100张图片没有任何材料。

select p.id, p.name
from pictures as p
left outer join pictures_materials as pm on p.id = pm.picture_id
where pm.picture_id is null;

我现在要做的是使用每种材料为picture_materials插入每一张图片的行。 所以,让我们说这些是一些没有材料的图片:

picture_21, picture_22, picture_23

我希望:

picture_21 material_1
picture_21 material_2
picture_21 material_3
picture_21 material_4
...

是否可以在单个INSERT INTO查询中执行此操作?

1 个答案:

答案 0 :(得分:1)

  

是否可以在单个INSERT INTO查询中执行此操作?

是的!

您已找到创建笛卡尔积的一个正当理由。为此,您将使用void Update() { if (ChildTiles.Count(a => a.Color == Color.Green)>=4) { gameManager.finalGreenComplete = true; Debug.Log(gameManager.finalGreenComplete); } } 。试试这个查询。

CROSS JOIN

在验证Select语句返回所需数据后,取消注释INSERT语句并再次执行。