Eu tinha uma pergunta muito simples: O oracle permite vários "WITH AS" em uma única instrução sql.
Exemplo:
WITH abc AS( select ......)
WITH XYZ AS(select ....) /*This one uses "abc" multiple times*/
Select .... /*using XYZ multiple times*/
Posso fazer a consulta funcionar repetindo a mesma consulta várias vezes, mas não quero fazer isso e aproveitar "COM AS". Parece um requisito simples, mas o oracle não me permite:
ORA-00928: palavra-chave SELECT ausente
abc
exyz
? Preciso obter o resultado da primeira subconsulta e usá-lo na segunda subconsulta.a sintaxe correta é -
fonte
Sim você pode...
Siga a ordem em que deve ser inicializado em Expressões de tabela comuns
fonte
Aditya ou outros, você pode juntar ou combinar t2 com t1 em seu exemplo, isto é, traduzido para o meu código,
Não estou claro se apenas WHERE é compatível com a associação ou qual abordagem de associação é compatível com a segunda entidade COM. Alguns dos exemplos têm WHERE A = B no corpo do select "abaixo" das cláusulas WITH.
O erro que estou recebendo após essas declarações WITH é que os identificadores (nomes de campo) em B não são reconhecidos, no corpo do restante do SQL. Portanto, a sintaxe WITH parece funcionar bem, mas não pode acessar os resultados de t2.
fonte