【发布时间】:2015-11-09 22:06:47
【问题描述】:
例如,我有两个表 A 和 B,它们都有一个列 people。我想选择出现在两个表中的那些人。 但是表 A 中的名称为 Upper 大写,而 B 中的名称只有第一个字母为 Upper。 例如,表 A 中有一个 BOB,表 B 中有一个 Bob,我希望 Bob 在我的结果中被选中。
【问题讨论】:
-
哪个 RDBMS?到目前为止,您尝试过什么?
标签: sql
例如,我有两个表 A 和 B,它们都有一个列 people。我想选择出现在两个表中的那些人。 但是表 A 中的名称为 Upper 大写,而 B 中的名称只有第一个字母为 Upper。 例如,表 A 中有一个 BOB,表 B 中有一个 Bob,我希望 Bob 在我的结果中被选中。
【问题讨论】:
标签: sql
将名称转换为相同大小写并进行相交 查找出现在两个表格中的人
select upper(people)
from TableA
intersect
select upper(people)
from TableB
order by 1
【讨论】:
order by 1
一种方法是join:
select distinct a.name
from tablea a join
tableb b
on lower(a.name) = lower(b.name);
这不一定有效,因为大小写转换和distinct。顺便说一下,有些数据库默认不区分大小写。
【讨论】: