我有两个数据库,它们是在同一时间开始的。这些现在需要合并为一个。为了避免重复,我想从第二个中删除两个条目。如果我在下面运行查询,它将自动删除重复项:-
SELECT idClient, LastName, FirstName
FROM `ABC`.`Client`
WHERE idClient > 1000
UNION
SELECT idClient, LastName, FirstName
FROM `XYZ`.`Client`
WHERE idClient > 1000;
但是,我要返回的唯一条目是重复的条目,但无法计算出实现该要求的语法。
最佳答案
如果要复制的内容,可以使用exists
:
SELECT idClient, LastName, FirstName
FROM `ABC`.`Client` ac
WHERE idClient > 1000 AND
EXISTS (SELECT 1
FROM `XYZ`.`Client` xc
WHERE xc.idClient = ac.idClient AND xc.LastName = ac.LastName AND
xc.FirstName = ac.FirstName AND
xc.idClient > 1000
);
注意:这将不会返回具有
NULL
值的列。关于mysql - 仅选择仅出现在两个MySQL数据库的每个表中的那些项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46073635/