我同意你 Sebas 的观点,这个在 oracle 中工作。用你的表名代替 table1
如果您无权访问,all_objects
则
select ( I +START_DATE-1) date1,cost/((END_DATE-START_DATE)+1) cost from table1 ,( select I from DUAL
model
dimension by (1 i)
measures (0 X)
(X[for I from 2 to 10000 increment 1] = 0))
where END_DATE>=I +START_DATE-1;
如果您可以访问元表,all_objects
那么试试这个
SELECT DATE1.DATE_ALL, table1.cost/((table1.END_DATE-table1.START_DATE)+1) NEW_COST
FROM table1 INNER JOIN
(
SELECT START_DATE + rownum-1 DATE_ALL
FROM ALL_OBJECTS
CROSS JOIN table1
WHERE
START_DATE + rownum - 1 <= (SELECT MAX(END_DATE) FROM table1)
) DATE1 ON table1.END_DATE >= DATE1.DATE_ALL
如果您有任何问题,请告诉我。