2013-02-25 3 views
-2

Что делать, если у меня есть разные таблицы на моем оракула запросе, как я могу объединить их в одном WITH AS запросе:С AS в оракула запросе

WITH A AS (
       SELECT A,B FROM TABLE1, 
       SELECT C FROM TABLE2 ---> ?? 
    ) 

Я хочу перевести мой запрос с «с, как» функции, включая разные столы. но кажется, что выбор другой формы столбца другой таблицы не работает.

Table1 
A    B 
data1  data1 



Table2 
C 
Data1 

Я просто хочу запросить их в одном выражении «С AS». :)

выход должен быть

A   B   C 
data1  data1  data1 
+1

Вы пытаетесь получить столбцы из двух разных таблиц? Правила для них такие же, как для обычного запроса в двух таблицах. Предложение with не имеет значения. –

+0

Это в этом случае должно быть хорошо, если я внутреннее соединяет две таблицы? – Rogbi

ответ

0
WITH A AS (
    SELECT A, B FROM TABLE1 
    UNION/UNION ALL 
    SELECT '','',C FROM TABLE2 
) 
1

Там нет очевидных причин, почему вы должны использовать факторинг суб-запросов, но вот как это сделать:

with data as (select table1.A, table1.B, table2.C 
       from table1 cross join table2) 
select * from data; 

Очевидно, как ваш вопрос не дает каких-либо критериев присоединения, то вы можете получить декартовой продукт. Я подозреваю, что это не то, что вы хотите, но если вы не найдете достаточно подробных сведений, которые могут сказать?

Смежные вопросы