表1 学号 姓名 性别 1001 万方 男
1002 李刚 男
1003 王红 女
表2 学号 职务
1001 a
1001 b
1002 a
1003 a查询结果
学号 姓名 性别 职务
1001 万方 男 a/b
1002 李刚 男 a
1003 王红 女 b
1002 李刚 男
1003 王红 女
表2 学号 职务
1001 a
1001 b
1002 a
1003 a查询结果
学号 姓名 性别 职务
1001 万方 男 a/b
1002 李刚 男 a
1003 王红 女 b
解决方案 »
- oracle 10g用imp导入数据的时候报错:ORA-01658: 无法为表空间 MAXDATA 中的段创建 INITIAL 区
- 本机不能连接上oracle数据库
- 关于oracle中的UTL_FILE.PUT_LINE的长时间等待
- oracle 返回值
- 进入oracle9i企业管理器(oracle enterprise manager console),打开本地数据库连接时,提示'关闭的连接'
- 简单的触发器问题
- 【加急】请问win2k的server上面我安装了oracle8i,原来的机器名是MYBankF1现在要改名字了
- 请问在ORACLE的SQL语句中如何求log10
- 我在SQL PLUS里执行一个SQL语句,执行后为什么好长时间没反映过了一会才执行.大家说说
- oracle如何解决生僻汉字的存储和匹配查询?
- 请问我在10g home上新建了一个数据库后怎么把原来的数据库备份文件导入啊
- 一个循环
from a, b
where a.学号=b.学号
group by 学号 姓名 性别 这是10G的用法,10G以下的不能用
10G以下参考此贴
http://topic.csdn.net/u/20080505/11/a0958b42-d938-465f-972a-0f61a2969c97.html?seed=491226048
from a, b
where a.学号=b.学号
group by a.学号,a.姓名, a.性别
select a.*, t.v_new
from a,
(select a.xh, replace(wm_sys.wm_concat(b.zw), ',', '/') v_new
from a, b
where a.xh = b.xh
group by a.xh) t
where a.xh = t.xh
SELECT 学号, 姓名, 性别, 职务
FROM (SELECT A.学号,
A.姓名,
A.性别,
SUBSTR(SYS_CONNECT_BY_PATH(表2.职务, '/'), 2) AS 职务,
RN,
MAX_RN
FROM (SELECT 表1.学号,
表1.姓名,
表1.性别,
表2.职务,
ROW_NUMBER() OVER(PARTITION BY 表2.学号 ORDER BY 表2.职务) AS RN,
COUNT(*) OVER(PARTITION BY 表2.学号) AS MAX_RN
FROM 表1
JOIN 表2 ON 表1.学号 = 表2.学号) A
START WITH A.RN = 1
CONNECT BY PRIOR A.RN = RN - 1)
WHERE RN = MAX_RN
SELECT 学号, 姓名, 性别, 职务
FROM (SELECT A.学号,
A.姓名,
A.性别,
SUBSTR(SYS_CONNECT_BY_PATH(表2.职务, '/'), 2) AS 职务,
RN,
MAX_RN
FROM (SELECT 表1.学号,
表1.姓名,
表1.性别,
表2.职务,
ROW_NUMBER() OVER(PARTITION BY 表2.学号 ORDER BY 表2.职务) AS RN,
COUNT(*) OVER(PARTITION BY 表2.学号) AS MAX_RN
FROM 表1 JOIN 表2 ON 表1.学号 = 表2.学号) A
START WITH A.RN = 1
CONNECT BY PRIOR A.RN = RN - 1 AND PRIOR A.学号=学号)
WHERE RN = MAX_RN
SELECT rn,max_rn,table_name,pt FROM
(SELECT a.table_name,rn,max_rn,
substr(sys_connect_by_path(column_name,'/'),2) pt
FROM
(SELECT x.*,
row_number() over(PARTITION BY table_name ORDER BY column_name) rn,
COUNT(*) over(PARTITION BY table_name) max_rn
FROM User_Tab_Columns x WHERE table_name IN('EQUIP_HOLD','BILLING','SUB_PATH')
) A
START WITH rn=1
CONNECT BY PRIOR a.table_name=table_name AND PRIOR a.rn=rn-1
)
WHERE rn=max_rn
ORDER BY table_name,rn