我正在尝试使用两个SELECT查询的结果插入关系表。
表1:
id | url
-------------------------
1 | http://something.com
表2:
id | address
----------------------------
1 | something@something.com
表3:
table1_id | table2_id
---------------------
1 | 1
我正在尝试构建一个由两个SELECT和一个UNION
组合而成的INSERT查询我一直在努力:
INSERT INTO table3
SELECT id FROM table1
WHERE table1.url = 'http://something.com'
UNION
SELECT id FROM table2
WHERE table2.address = 'something@something.com';
我哪里出错了?我在第二个SELECT上遇到错误,它能够选择第一个ID并将其传递给INSERT,但它试图插入(1,null),即使第二个SELECT本身有效。
答案 0 :(得分:1)
INSERT INTO table 3
select A.id, B.id
from Table1 A
cross join Table2 B
where A.url = 'http://something.com'
and B.address = 'something@something.com'