我有三个表作为 SQLITE3 转储。
产品、税收、库存
从这些表中准备一个 csv 文件以导入到 magento 产品部分。所以那部分结束了。
现在必须运行一个日常脚本来更新库存、税收、修改后的产品详细信息(SKU 在任何情况下都不会改变)。
在此更新部分。 例如,我有 12000 条记录,因为在最后一天的数据库中,库存表、税表、产品表中可能只有 400 或 1000 条记录发生变化/修改/更新。其余行将保持不变。
所以我将最后几天的表添加为old_products、old_tax、old_inventory。
并尝试编写sql查询以仅从两组表中提取修改过的记录
(注意:两组表在同一个数据库中可用。)
谁能帮我写一个sql查询,通过比较两组表来提取修改的记录。
最佳答案
我可能会更改此架构。
我会有一个表,用于存储上次将数据导出到 CSV 的日期:
CREATE TABLE CSVLastExported (
ProductsExportDate datetime,
TaxExportDate datetime,
InventoryExportDate datetime
)
然后我可以在三个表中的每一个中都有一个时间戳列,其中包含最后修改的时间戳。我会有一个触发器来更新该列。
为另一个导出查询修改后的数据就像将 LastModified
列与 CSVLastExported
中的相应列进行比较一样简单:
SELECT p.*
FROM products p
INNER JOIN CSVLastExport e
ON p.LastModified > e.ProductsExportDate
关于mysql - 比较多个Mysql表以查找修改的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5468478/