select U.LOGIN_ID,F.Function_Name
from USER U, ROLE R, ROLE_PERMISSION P, FUNCTION F
where U.ROLE_ID = R.ROLE_ID
and P.ROLE_ID = R.Role_Id
and P.FUNCTION_ID = F.Function_Id
其中一个Login_id 有多条Function_Name,
现在想做的是一个多条Function_Name用"|"连接起来,
这样一个LOGIN_id 只有一条记录, 该怎么做呢?
from USER U, ROLE R, ROLE_PERMISSION P, FUNCTION F
where U.ROLE_ID = R.ROLE_ID
and P.ROLE_ID = R.Role_Id
and P.FUNCTION_ID = F.Function_Id
其中一个Login_id 有多条Function_Name,
现在想做的是一个多条Function_Name用"|"连接起来,
这样一个LOGIN_id 只有一条记录, 该怎么做呢?
解决方案 »
- 求经验丰富的Oracle大神给几个找工作好使的Oracle基础题目
- Oracle动态查询列的问题
- 请问,关于oracle误删除的问题
- PL/SQL开发指导
- MATERIALIZED VIEW ENABLE QUERY REWRITE的问题,困扰了N天了
- 一个oracle函数参数传递的问题
- 请问:oracle中怎么查询上次插入数据后该表中加入数据的行数?谢谢
- 请问什么地方有linux 下 oracle 9 的c 语言的API 库下载
- 急急急
- oracle8.16在red linux7.3下安装问题,在线等待
- 不想grouping的欄位,但卻要select進去,如何寫呢?
- 在oracle 中找出最近几天的信息怎么做?
insert into t2 values('001','vl1');
insert into t2 values('001','vl2');
insert into t2 values('001','vl3');
insert into t2 values('002','vl1');
insert into t2 values('002','vl2'); SELECT COL1, LTRIM(MAX(SYS_CONNECT_BY_PATH(COL2, ',')), ',') COL2
FROM (SELECT COL1,
COL2,
MIN(COL2) OVER(PARTITION BY COL1) COL2_MIN,
(ROW_NUMBER() OVER(ORDER BY COL1, COL2)) +
(DENSE_RANK() OVER(ORDER BY COL1)) NUMID
FROM T2)
START WITH COL2 = COL2_MIN
CONNECT BY NUMID - 1 = PRIOR NUMID
GROUP BY COL1 /*
COL1 COL2
---------- ----------------------------------------
001 vl1,vl2,vl3
002 vl1,vl2
2 rows selected
*/