3,491
社区成员
发帖
与我相关
我的任务
分享
select ftemp.*
from ( select *
from T_A
where (age=20) ) ftemp
where 1 = 1
and exists
( select trim(translate(name, '!@#$%^&*() !?#¥%……?*(', ' ')) t_name
from T_B a
where 1 = 1
and trim(translate(ftemp.name, '!@#$%^&*() !?#¥%……?*(', ' ')) = trim(translate(a.name, '!@#$%^&*() !?#¥%……?*(', ' '))
and exists
( select ROWNUM n
from T_B
where a.t_name = trim(translate(t_B.name, '!@#$%^&*() !?#¥%……?*(', ' '))
and ROWNUM > 1
)
/*group by trim(translate(name, '!@#$%^&*() !?#¥%……?*(', ' ')) having count(*) > 1*/
)
order by trim(translate(ftemp.name, '!@#$%^&*() !?#¥%……?*(', ' '))