1

我有两张相同的桌子。'Number' 和 'Productcode' 字段构成唯一键。这个唯一的组合键是两个表相同的。

我想将表 2 中的记录插入表 1。可能是记录唯一键已经存在。在这种情况下,需要为所有字段更新记录。但是...仅当表 2 记录中的日期字段比表 1 中的日期字段更新时才需要更新记录。

我尝试了以下方法:

INSERT INTO Table_dest (Number, Productcode, TransactionDate,
                        TransactionTime, Price)
SELECT
  Number, Productcode, TransactionDate, TransactionTime, Price
FROM
  Table_source
WHERE
  Table_source.TransactionDate >= Table_dest.TransactionDate
  AND Table_source.TransactionTime > Table_dest.TransactionTime;

但它给了我关于 WHERE 子句的错误。它还会在重复项上给出错误,但我不知道如何解决。有人有什么建议吗?谢谢!

4

1 回答 1

0

连接两个表时应遵循此格式:

INSERT INTO tableA (a1, a2, a3)

SELECT b1, b2, b3
FROM tableB b
JOIN tableA a ON a.a1 = b.b1
WHERE (CONDITION)

看看它是否适合你。

于 2013-04-07T10:19:25.193 回答