我需要在表格中输入多行(每个商品购买一行)。正在从另一个表中提取customerID(我没有手动输入)...我搜索并搜索了一个无法帮助我的SQL:(
不起作用的示例:
insert into table (district, customerID, shipper, item)
select 'midwest', r.customerID, 'usps', 'tablesaw'
union all
select 'midwest, r.customerID, 'usps', 'bansaw'
union all
select 'midwest', r.customerID, 'usps', 'drill'
from reg r
表中的数据应如下所示:
midwest, a2234, USPS, tablesaw
midwest, a2234, USPS, bansaw
midwest, a2234, USPS, drill
答案 0 :(得分:1)
您可以使用CROSS JOIN
只读一次的<{1}}表:
reg
答案 1 :(得分:0)
那不是UNION
的工作方式,您应该重复SELECT
UNION
的注册部分
答案 2 :(得分:0)
使用下一个代码:
insert into table (district, customerID, shipper, item)
select 'midwest', customerID, 'usps', 'tablesaw'
from reg where customerID = 'a2234'
union all
select 'midwest', r.customerID, 'usps', 'bansaw'
from reg where customerID = 'a2234'
union all
select 'midwest', r.customerID, 'usps', 'drill'
from reg where customerID = 'a2234'
1)首先运行Union而不插入以确认您想要的数据insert
。
2)select 'midwest
最后缺少'
。 (select
中的第二个Union
。)