Teria como criar varias tabelas dentro de uma clausula With, para posteriormente usar elas fazendo joins?
Teria como criar varias tabelas dentro de uma clausula With, para posteriormente usar elas fazendo joins?
Oie, Pablo! Tudo joia?
Sim, é possível. Cada subconsulta pode ser tratada como se fosse uma tabela temporária, e você pode utilizá-las posteriormente em joins ou outras operações na consulta principal.
Para te inspirar, segue um código de exemplo:
WITH
vendas_faturamento AS (
SELECT
id_venda,
id_produto,
id_cliente,
DATA,
(quantidade * preco) AS faturamento
FROM
curso-big-query-12339.belleza_verde_vendas.vendas
),
clientes_info AS (
SELECT
id_cliente,
nome_cliente,
email
FROM
curso-big-query-12339.belleza_verde_vendas.clientes
)
SELECT
vf.id_venda,
vf.id_produto,
ci.nome_cliente,
vf.DATA,
vf.faturamento
FROM
vendas_faturamento vf
JOIN
clientes_info ci
ON
vf.id_cliente = ci.id_cliente
WHERE
vf.faturamento >= 600
LIMIT
10;
Sobre o exemplo, foi criado 2 sub consultas: vendas_faturamento
e clientes_info
. Depois, veio o uso do JOIN
entre essas duas sub consultas na consulta principal. Isso permite organizar e reutilizar partes da consulta de forma mais eficiente.
Espero ter te auxiliado e qualquer dúvida, compartilhe no fórum.
Até mais, Pablo!