WITH
klausulen låter som det som ligger närmast det du beskriver. Men det kräver att du genererar data på något sätt. Välj från DUAL
är förmodligen det enklaste alternativet
WITH my_temp_table AS (
SELECT 'One' name, 1 num from dual union all
SELECT 'Two', 2 from dual union all
SELECT 'Three', 3 from dual union all
SELECT 'Four', 4 from dual
)
SELECT *
FROM my_temp_table
JOIN person ON (<<some join condition>>)
WHERE <<some predicate>>
Eftersom du inte vill sammanföra en massa frågor kan du göra något liknande
WITH my_temp_table AS (
select level num,
initcap( to_char( to_date( level, 'J' ),
'JSP' )) name
from dual
connect by level <= 4
)
...