在给定table2中的数据的情况下,如何在table1中创建数据?

时间:2010-10-14 00:15:23

标签: sql

我对连接和查询非常了解SQL,但是当谈到这一点时我不知道。有人可以解决这个问题吗?

如果给出table2中的数据,您将如何在table1中创建数据?编写SQL查询。

表1(csv):

order_id1, prod_id1
order_id1, prod_id2
order_id1, prod_id3
order_id1, prod_id4
order_id1, prod_id4

表2(csv):

order_id1, prod_id1, prod_id2, prod_id3, prod_id4, prod_id4

2 个答案:

答案 0 :(得分:4)

此类INSERT的语法将根据您使用的数据库平台而有所不同。以下适用于SQL Server:

insert into table1
(order_id, prod_id)
select order_id1, prod_id1 from table2
union all
select order_id1, prod_id2 from table2
union all
select order_id1, prod_id3 from table2
union all
select order_id1, prod_id4 from table2

注意:您的示例中有两个prod_id4列,所以我假设它是一个错误

答案 1 :(得分:0)

没办法,你必须做一个脚本 因为你甚至不知道table1中有多少行 如果行数是固定的,那么你可以像RedFiter所说的那样做 否则你可以用

中的循环编写程序