比较两个可能重复的MySQL列

时间:2014-11-08 00:06:32

标签: mysql

我在同一个数据库中有两个我需要比较的MySQL表。一个是masterTxn,它基本上是我需要与另一个表month_tbl进行比较的主事务列表。

我的目标是将masterTxnmonth_tbl进行比较,并在masterTxn中找到month_tbl的交易。我已尝试过以下操作,但它返回0行,当我知道肯定至少有300-400行应与此查询匹配时:

SELECT * FROM masterTxn WHERE masterTxn.TxnID NOT IN (SELECT month_tbl.TXNID FROM month_tbl)

如您所见,我尝试使用每个表中的TXNID列进行比较。但是,这里有一个问题:有多个行具有相同的TXNID值。换句话说,这些表中没有主键或标识符 - 尽管我希望我可以改变它,这就是数据从其来源写入的方式。

我从其他帖子中尝试了几件事:
MySQL "NOT IN" query
Get a result by comparing two tables with an identical column

但是这些想法并没有奏效......也许我实施它们是错误的,但似乎这些其他帖子中的每一个都有一个列,其中没有其他行具有相同的值。< / p>

有什么想法吗?

提前致谢!!

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT a.*
FROM masterTxn a
LEFT JOIN month_tbl b ON b.TXNID = a.TXNID
WHERE b.TXNID IS NULL