SQL - 需要为每个客户输入15行到表中

时间:2017-02-23 18:02:53

标签: sql sql-server tsql insert

我需要在表格中输入多行(每个商品购买一行)。正在从另一个表中提取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

3 个答案:

答案 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。)