适用于报表场景下,数据记录不足但是界面需要展示多于记录数的数据条目;
比如:需要展示15条记录,不足行用空行补充。
具体示例如下:
-- 正常查询的数据
WITH TDATA AS (
SELECT 11 A,22 B,33 C FROM DUAL
UNION ALL
SELECT 21 A,22 B,23 C FROM DUAL
)
SELECT ROWNUM RN, M.*
FROM (SELECT * FROM TDATA
UNION ALL
-- 造出某表的空记录
SELECT N.* FROM DUAL M LEFT JOIN TDATA N ON 1!=1
-- 重复行展示
CONNECT BY ROWNUM < 16) M
-- 最终行记录限制
WHERE ROWNUM < 16;
自己的见解,不足请大神提醒补充。。(∩_∩)。。