Sql 选择“在重复条件下查询到临时表”

Sql 选择“在重复条件下查询到临时表”,sql,select,Sql,Select,我试图将数据从一个表(A)转移到另一个表(B)。表A在传输到B时抛出错误,因为有违反表B中复合主键的记录。B中的主键由不能修改的字段组成,日期时间字段除外,其中日期很重要,但时间不重要 在我工作的范围内,我只能控制表A中的select语句,而不能控制表B中的insert语句。我也不能更改这两个表的数据或数据类型配置 因此,使用SELECT语句,如何从表a中获取数据,在特定字段(int)中检查数据是否重复,并在这些重复实例中将datetime字段增加一分钟,以允许将两条记录插入表B。这将只返回表B

我试图将数据从一个表(A)转移到另一个表(B)。表A在传输到B时抛出错误,因为有违反表B中复合主键的记录。B中的主键由不能修改的字段组成,日期时间字段除外,其中日期很重要,但时间不重要

在我工作的范围内,我只能控制表A中的select语句,而不能控制表B中的insert语句。我也不能更改这两个表的数据或数据类型配置


因此,使用SELECT语句,如何从表a中获取数据,在特定字段(int)中检查数据是否重复,并在这些重复实例中将datetime字段增加一分钟,以允许将两条记录插入表B。

这将只返回表B中不存在的表a中的记录,这样你的插入就行了。当然,在不知道字段(或数据库结构)的情况下,我只能使用模拟字段名。如果您仍然有问题,请使用所需的字段名编辑您的问题,我将更新我的答案。这非常简单,因此即使需要修改以下查询,您也应该能够找到它:

SELECT NeededFields
FROM TableA
LEFT OUTER JOIN TableB
    ON TableA.PrimaryKeyField = TableB.PrimaryKeyField
WHERE TableB.PrimaryKeyField IS NULL

完成后,应该仔细阅读外部联接。它们派上用场了

A中是否有多个副本,以便需要多次添加1。A.1、A.2、A.3都与B.1相同,因此A.1+1、A.2+2和A.3+3的时间需要出现。我可以看到,在同一个B键有多个重复的情况下,使用row_number函数来增加时间是可能的。我建议创建一个展示您试图克服的示例以及一些预期结果的示例。这是什么关系数据库管理系统?mySQL,SQL server什么?我猜mySQL是在重复条件下给出的……您使用的是哪种DBMS?