SELECT *
FROM (SELECT ROWNUM rnum,
query.*
FROM (WITH myQuery AS(
SELECT column_b
FROM table_a a
WHERE a.column_a = 1234)
SELECT b.column_e AS some_column
FROM table_b b,
table_c c,
table_a a
LEFT JOIN table_d d ON c.column_c = d.column_d
JOIN myQuery mq ON a.column_b = mq.column_b
WHERE b.column_b = a.column_b) query)
WHERE rnum > 0
1 に答える
2
ANSI-88 と ANSI-92 の JOIN 構文を混在させず、どちらかを選択してください。ANSI-92 構文を使用したクエリは次のとおりです。
WITH myQuery AS (
SELECT column_b
FROM table_a a
WHERE a.column_a = 1234)
SELECT x.*
FROM (SELECT b.column_e AS some_column,
ROWNUM 'rnum'
FROM table_b b
JOIN TABLE_A a ON a.column_b = b.column_b
JOIN myQuery mq ON mq.column_b = a.column_b
JOIN table_c c ON c.? = ?? --need join criteria here
LEFT JOIN table_d d ON c.column_c = d.column_d) x
WHERE x.rnum > 0
あなたの例には、 TABLE_C が結合するものがないため、?
and??
WITH
サブクエリで句を定義できることを知りませんでした。過去に 10g でそれを試みたときにエラーが発生したことは確かでした。
于 2009-12-22T01:28:23.070 に答える