如果我在两个不同的表中有两行,例如:
表名 - 旧
ID | 标题 | 意见 |
---|---|---|
wx | 如何清洁钻头 | 30 |
np | 最疯狂的失败 | 400 |
佐 | 饮食挑战 | 8 |
如果 | JavaScript 教程 | 0 |
表名 - 新建
ID | 标题 | 意见 |
---|---|---|
wx | 如何清洁钻头 | 30 |
np | 最疯狂的失败 | 450 |
佐 | 这是一个错误 | 8 |
如果 | 学习 JavaScript | 20 |
两个表的区别如下:
- 第 1 行 (id=wx):
title
并views
没有改变。 - 第 2 行 (id=np):
views
增加了,而title
是相同的。 - 第 3 行 (id=zo):
title
已经改变,而views
是相同的。 - 第 4 行 (id=lf):两者
title
都views
发生了变化。
期望的结果
我想要一个返回Table Name - New的查询,但任何未从Table Name - Old更改的值都应该是null
,而不是id
. 如果整行没有更改,则不应返回该行。
id
是恒定的,不会改变。
查询结果
ID | 标题 | 意见 |
---|---|---|
np | null |
450 |
佐 | 这是一个错误 | null |
如果 | 学习 JavaScript | 20 |
我得到的最接近的是
SELECT * FROM new EXCEPT SELECT * FROM old;
但这并没有null
排除不变的值。
将不胜感激任何帮助。