我有两个主键相同的表,每个表都有15列或更多。我需要比较这两个表并列出所有的差异。我们可以为此编写一个通用plsql块或查询吗?
输出应如输出表所示。
表一:
| 主键|第1列|列2|第3栏|col4(n列数)|
| - ------|- ------|- ------|- ------|- ------|
| 1个|一百|四三九|三四五|四百五十六|
| 第二章|二百三十九|二百三十四|五百四十六|小行星5667|
表二:
| 主键|第1列|列2|第3栏|col4(n列数)|
| - ------|- ------|- ------|- ------|- ------|
| 1个|二百|四百五十六|三四五|四百五十九|
| 第二章|二百三十九|二百三十四|小行星5435|小行星4557|
输出表:
| 主键|评论|列名|表1数值|表2数值|
| - ------|- ------|- ------|- ------|- ------|
| 1个|发现不匹配|第1列|一百|二百|
| 1个|发现不匹配|第2列|四三九|四百五十六|
| 1个|发现不匹配|第4列|四百五十六|四百五十九|
| 第二章|发现不匹配|第3列|五百四十六|小行星5435|
| 1个|发现不匹配|第4列|小行星5667|小行星4557|
我尝试了解决方案,这是给我一个标志,在那里有匹配与否。但我不能绕着我的头上如何获得数据,以及,这也是在所需的格式。这是一个面试问题,我需要破解我的理解。
2条答案
按热度按时间d6kp6zgx1#
无论何时你有问题,请发布一些示例数据(CREATE TABLE和INSERT语句用于所有相关的表,仅相关列),这样想帮助你的人就可以重现问题并测试他们的想法。还可以发布你想要从该数据得到的确切结果,并解释为什么你想要从该数据得到这些结果。最后,不要发布任何图像,因为它们不能被剪切和粘贴。
你可以试试这样的东西。根据你的需要量身定做
jq6vz3qz2#
一个选项是使用MODEL clause,它允许您以类似于excel的方式组合来自不同行/列的数据。
下面是代码:
使用示例数据:
.结果应该是:
它看起来像很多代码(确实如此),但大部分都可以复制/粘贴,根据我的经验,MODEL子句既快速又可靠...