0
我对相同的表的两个查询:比较两个查询结果与输出差分
- SELECT * FROM表其中filename =“X”;
- SELECT * FROM table WHERE fileName ='y';
现在,我试图比较这些查询返回的结果。没有我可以比较的ID,但我需要比较每列。
我试图修改此方法,因为看到here:
SELECT 'robot' AS `set`, r.*
FROM robot r
WHERE ROW(r.col1, r.col2, …) NOT IN
(
SELECT *
FROM tbd_robot
)
UNION ALL
SELECT 'tbd_robot' AS `set`, t.*
FROM tbd_robot t
WHERE ROW(t.col1, t.col2, …) NOT IN
(
SELECT *
FROM robot
)
我不知道如何正确地修改此代码。我尝试将表名更改为同一个表,但添加WHERE
子句在SQL异常中失败。
这是最好的选择吗?也许有更聪明的方法来比较两个查询结果并输出差异?
非常感谢您的帮助提前:-)
编辑:
样本数据:
ID | fileName | firstName | lastName | address
1 | x.txt | John | Doe | 1 Test st
2 | x.txt | Jane | Doe | 3 Test st
3 | y.txt | John | Doe | 2 Test st
4 | y.txt | Jane | Doe | 3 Test st
由于地址不同点在于ID = 3,这是一行应该返回。
可能有几种方法可以做到这一点,但首先你需要澄清...你是什么意思比较两个表?你希望比较什么标准?如果你发布了一些你的数据样本以及你想要输出的样子,它可能会有所帮助。 – SandPiper
根据@SandPiper的要求添加了一些示例数据 – jrn