【发布时间】:2013-03-27 19:47:23
【问题描述】:
我有 2 个数据库,一个用于操作,一个用于分析。
分析数据库与操作数据库不是 1:1 相同,但仍然非常相似。
现在我将存档文件 (csv) 加载到分析数据库中(之前它是空的)。
我在分析中有我的旧数据,在操作数据库中有我的当前数据。
我想写一个查询来查明一些新加载的记录是否已经在数据库中。
有没有办法检查一下?
编辑:
首先我很抱歉。查看我的数据库后犯了一个错误。我不需要比较两个不同的数据库,在通过 phpmyadmin 复制操作数据库时,我忘记将当前数据加载到分析数据库中。 所以我只需要比较一个数据库中的2个表,是否有一些旧记录已经在数据库中。
我的第一个想法是/曾经是:
SELECT *
FROM orderlinesold t1
LEFT JOIN orderlines t2 on t1.orderid = t2.orderid;
但是在运行该查询之后,我得到了孔行,这是不可能的 --> 错误的查询。
如何检查一些旧数据是否仍在新数据中?
PS:表格在 cmets 中作为链接。
- 编辑:
好的,我解决了。只是比较查询:
SELECT *
FROM ordersold t1
INNER JOIN orders t2 ON t1.orderid = t2.orderid
LIMIT 100000000;
或:
SELECT *
FROM orderlinesold t1
LEFT JOIN orderlines t2 ON t1.orderid = t2.orderid
WHERE t2.orderid IS NOT NULL
LIMIT 100000000;
两者都丢弃了正确的结果。
还是谢谢。此帖可以关闭。
【问题讨论】:
-
请提供两个表格的表格格式。更好的是,提供 SQL 来举例说明您已尝试过的操作。
-
看起来这个帖子可以帮助你stackoverflow.com/questions/225772/…。否则,您可以为每个表编写查询来分析它,可能使用
IN或NOT IN子句。 -
这里是我的桌子:imgur.com/XpgwI35