Поддерживает ли Snowflake DB подзапросы в предложении FROM?

Я просмотрел их документацию, и они действительно поддерживают подзапросы, но неясно, могу ли я иметь подзапрос в предложении FROM.

Если да, не могли бы вы показать мне правильный синтаксис?

Мой запрос:


select C1 C1, 2 C2, 3 C3 
from 
( 
select X.*, *, Y.*, Y.SNO C1 
from Y, X 
) T1


person Nero909    schedule 09.02.2018    source источник
comment
Примеры данных и ожидаемые результаты, пожалуйста. Ваш запрос имеет правильный синтаксис   -  person kjmerf    schedule 09.02.2018
comment
в их документации сказано, что это разрешено. SELECT t1.f1 FROM (SELECT f1 FROM some_table) as t1 был бы правильным синтаксисом. Не уверен, что вы пытаетесь сделать со своими C1 C1 или 2 C2 столбцами ... (это ерунда), поэтому ничем не могу помочь.   -  person JNevill    schedule 09.02.2018
comment
Что произошло, когда вы запустили это заявление?   -  person a_horse_with_no_name    schedule 09.02.2018
comment
Я никогда не слышал о Snowflake DB, но мог бы предположить, что он будет жаловаться на повторяющиеся имена столбцов в производной таблице из select X.*, *, Y.*   -  person Martin Smith    schedule 09.02.2018


Ответы (1)


Это определенно имеет значение! Пример ниже. Если ваш запрос не работает, предоставьте полный повторный случай и сообщение об ошибке.

create or replace table x(i int) as 
select column1 from values(1),(1),(2),(3),(2);

select * from x, (select avg(i) from x);
---+--------+
 I | AVG(I) |
---+--------+
 1 | 1.800  |
 1 | 1.800  |
 2 | 1.800  |
 3 | 1.800  |
 2 | 1.800  |
---+--------+

select count(*) from (select distinct i from x);
----------+
 COUNT(*) |
----------+
 3        |
----------+
person Marcin Zukowski    schedule 10.02.2018