我需要帮助将数据从一个表插入另一个表。
表定义是:
create table reg
(id int,
datum datetime,
status nvarchar(1)
)
create table gate
(sifra int,
mbr int,
datumin datetime,
datumout datetime
)
表格数据是:
id datum status
46627 2014-05-22 12:55:02.000 I
46628 2014-05-22 18:55:02.000 O
49875 2014-08-11 18:55:02.000 O
49877 2014-09-11 18:55:02.000 I
49889 2014-09-03 18:50:02.000 O
我尝试过这样的事情,但失败了。
insert into gate values(
(select id from reg), (select id from reg),(select datum from reg where status = 'I'),
(select datum from reg where status = 'O'))
任何想法如何管理?
答案 0 :(得分:0)
您的选择不能返回多个记录,否则您会收到此错误。我不知道你想要做什么,但如果我猜,我想你想要这样的事情:
INSERT INTO Gate(sifra,mbr,datumin,datumout)
SELECT ID,ID,CASE WHEN status = 'I' THEN datum ELSE NULL END, CASE WHEN status = 'O' THEN datum ELSE NULL END)