一、下面有两个表:
HEADER_INFO 头表字段: COLUMN NAME COMMENT
HEADER_ID 头表ID
HEADER_NAME 头表名称
LINE_INFO 行表字段 COLUMN NAME COMMENT
HEADER_ID 头表ID
LINE_ID 行表ID
LINE_NAME 行表名称
LINE_QTY 行表数量二、在GROUP BY 语句中,要求行表数量的汇总,也要把多条行表信息的名称,以逗号的形式全部显示出来,下面的语句中,NAME_INFO字段该如何写?请指教,谢谢
SELECT
B.HEADER_ID,
SUM(LINE_QTY),
-- 以 “行表名称A,行表名称B,行表名称C” 的形式显示 AS NAME_INFO
FROM
HEADER_INFO A , LINE_INFO B
WHERE
A.HEADER_ID = B.HEADER_ID
GROUP BY
B.HEADER_ID
HEADER_INFO 头表字段: COLUMN NAME COMMENT
HEADER_ID 头表ID
HEADER_NAME 头表名称
LINE_INFO 行表字段 COLUMN NAME COMMENT
HEADER_ID 头表ID
LINE_ID 行表ID
LINE_NAME 行表名称
LINE_QTY 行表数量二、在GROUP BY 语句中,要求行表数量的汇总,也要把多条行表信息的名称,以逗号的形式全部显示出来,下面的语句中,NAME_INFO字段该如何写?请指教,谢谢
SELECT
B.HEADER_ID,
SUM(LINE_QTY),
-- 以 “行表名称A,行表名称B,行表名称C” 的形式显示 AS NAME_INFO
FROM
HEADER_INFO A , LINE_INFO B
WHERE
A.HEADER_ID = B.HEADER_ID
GROUP BY
B.HEADER_ID
解决方案 »
- sql语句优化
- 热备份脚本学习
- oracle 关于union统计查询
- 关于以前在客户端所进行的数据处理工作转到服务器端执行的问题
- 面试归来之一 伤了,散分求助!
- 着急,一个导出的文件有5G,可是数据文件最大不能超过4G,如何导入??(解决问题追加50分)
- 求助,linux下怎么完全卸载oracle9i
- oracle的客户端怎么配啊?
- ***如何实现一个字段在添加时自动加1呢???***
- 知道Oracle数据库的超级管理的用户名密码后,怎么修改操作系统的超管的密码?
- 写入文件 c:\oracle\ora92\bin\OraOLEDBrst.dll和OraOLEDBzhs.dll 时出现错误!请专家帮我解决谢谢!
- 在线等 SQLplus 执行问题
DISTINCT B.HEADER_ID,
A.HEADER_NAME,
(SELECT
SUM(LINE_QTY),
FROM
LINE_INFO B WHERE
A.HEADER_ID = B.HEADER_ID
GROUP BY
B.HEADER_ID) AS XXX
FROM
HEADER_INFO A , LINE_INFO B
WHERE
A.HEADER_ID = B.HEADER_ID
SELECT
B.HEADER_ID,
SUM(LINE_QTY),
wmsys.wm_concat(LINE_NAME) AS NAME_INFO
FROM
HEADER_INFO A , LINE_INFO B
WHERE
A.HEADER_ID = B.HEADER_ID
GROUP BY
B.HEADER_ID
可以SYS_CONNECT_BY_PATH
SELECT SYS_CONNECT_BY_PATH(....)
FROM TABLE
START WITH ....
CONNECT BY ....
自己去搜一下SYS_CONNECT_BY_PATH的用法就曉得了啊!
如:
GROUP 数量 名称
1 1 A
1 2 B
1 3 C
2 4 D
2 5 E希望得到的结果是:GROUP 数量 名称
1 6 A,B,C
2 9 D,E
寫個函數也簡單啊!
FOR C1 IN (SELECT LINE_NAME FROM LINE_INFO WHERE.....) LOOP
V_NAME:=C1.NAME||' '||C1.NAME
END LOOP;
RETURN (V_NAME);
僅供參考啊!