我有三个表,它们的列完全相同
表:A(时间表)
id Date From TO
----------- ---------- ---------------- ----------------
1 2014-04-10 08:00:00 09:00:00
2 2014-04-10 09:10:00 10:10:00
3 2014-04-10 14:00:00 15:00:00
4 2014-04-10 08:30:00 09:30:00
5 2014-04-12 18:00:00 19:00:00表:B(组)
ID Name
----------- ----------
1 name_1
2 name_2
3 name_3表:C (Join)
ID GroupID ScheduleID
----------- ----------- -----------
1 1 1
2 1 2
3 1 3我想知道如果表C中的from和to (Time)预览记录之间不存在表A.from,如何将表A中的第4条记录插入到表C中。
发布于 2014-07-08 19:33:03
我不确定您定义的是什么标准:insert 4th record from table A into table C if it does not exist table A.[from] between from and to preview records是,但检查是否存在某些内容的默认语句如下。
INSERT INTO C
SELECT * FROM A
WHERE NOT EXISTS(SELECT 1 FROM A WHERE A.ID = C.ID)发布于 2014-07-08 20:27:39
在我看来,这些表的设计目的是做以下事情:
理想情况下,每个表中的ID列应该是一个自动递增的唯一主键。这将使您能够将新记录插入到表C中,而无需首先检查ID为4的记录是否已经存在。
至于实际的INSERT语句,INSERT INTO C SELECT .. FROM A将不起作用,因为表A和表C中的列不匹配。
您尝试将哪个组分配给日程安排?如果是name_1,您可以使用以下语句。
INSERT INTO C
SELECT 4, 1, 4
WHERE NOT EXISTS(SELECT 1 FROM C WHERE ID = 4)https://stackoverflow.com/questions/24630661
复制相似问题