首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较Oracle DB中的两行并显示列不匹配

比较Oracle DB中的两行并显示列不匹配
EN

Stack Overflow用户
提问于 2016-12-28 02:30:18
回答 1查看 7.7K关注 0票数 1

表列: Id、名称、年龄

第一排:

代码语言:javascript
运行
复制
select 11, 'James', 22 from dual;

这个会回来的

代码语言:javascript
运行
复制
11 James 22

第二排:

代码语言:javascript
运行
复制
select * from supplier where id=11`;

这个会回来的

代码语言:javascript
运行
复制
11 Vinod 25

现在,我想比较两行:

代码语言:javascript
运行
复制
11 James 22
11 Vinod 25

它应该返回有差异的列。

名称错配年龄错配

我正在使用12c是否有内置在甲骨文中的功能,这将解决这个问题。或者任何其他的方法我都可以得到同样的解决方案。

提前谢谢..。

`

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-28 02:56:07

您可以使用joindecode (可以交替使用case )来确定列值是否匹配:

代码语言:javascript
运行
复制
with cte(id, name, age) as (select 11, 'James', 22 from dual)
select 
  s.id,
  decode(s.name, t.name, null, 'Name mismatch') name_check,
  decode(s.age, t.age, null, 'Age mismatch') age_check
from supplier s
inner join cte t
on s.id = t.id
where s.id = 11;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41354582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档