首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ORACLE的有关问题

2012-08-01 
ORACLE的问题ORACLE在一张表:NONAME1A2B3C4D求能显示ABACADBCBDCD的SQL[解决办法]SQL codeWITH t AS (SELE

ORACLE的问题
ORACLE在一张表:
NO NAME
1 A
2 B
3 C
4 D


求能显示
AB
AC
AD
BC
BD
CD
的SQL

[解决办法]

SQL code
WITH t AS (SELECT 'a' id FROM dualUNION ALL SELECT 'b' FROM dualUNION ALL SELECT 'c' FROM dualUNION ALL SELECT 'd' FROM dual)SELECT t1.id||t2.id FROM t t1,t t2 WHERE t1.id<t2.id;
[解决办法]
自连接做个迪卡尔集,再比较ASCII码大小。

with t as (
--NO NAME
select 1 as num, 'A' as name from dual
union all
select 2, 'B' from dual
union all
select 3, 'C' from dual
union all
select 4, 'D' from dual
)
select aname || bname from (
select a.num as anum,a.name as aname,b.num as bnum, b.name as bname from t a, t b)
where ascii(aname) < ascii(bname)

ANAME||BNAME 
------------ 
AB
AC
AD
BC
BD
CD

热点排行