创建了以下数据库:
`INSERT INTO T4S_BRANCH_DATA (BR_NAME, BR_START, BR_COURSE_LN) VALUES ('COMMUNITY',
TO_DATE('2023-07-03', 'YYYY-MM-DD'), 5);
INSERT INTO T4S_BRANCH_DATA (BR_NAME, BR_START, BR_COURSE_LN) VALUES ('HAF', TO_DATE('2023-07-
03', 'YYYY-MM-DD'), 4);
INSERT INTO T4S_BRANCH_DATA (BR_NAME, BR_START, BR_COURSE_LN) VALUES ('HUBB', TO_DATE('2023-
07-03', 'YYYY-MM-DD'), 4);
尝试查询:
`select BR_START + level - 1 DT
from t4s_branch_data where BR_NAME = 'COMMUNITY'
connect by level <= (
(BR_START + BR_COURSE_LN*7-1) - BR_START + 1);
但是,这将打印5,000行重复数据
2条答案
按热度按时间46scxncf1#
在应用connectby子句之前,需要限制要使用的行:
或使用内联视图代替WITH子句
nsc4cvqm2#
其中一个选项是在联接子查询中使用(足够多的)级别,以限制Where子句中生成的日期数: