1
resposta

O curso e muito bom e esta min ajudando bastante meu aprendizado , eu fiz dessa maneira , no caso o select com os inner join se tornou uma tabela que chama x ne?

SELECT X.CPF, X.CLIENTE, X.MES_ANO, X.QUANTIDADE_VENDAS, X.QUANTIDADE_LIMITE, CASE WHEN (X.QUANTIDADE_LIMITE - X.QUANTIDADE_VENDAS) < 0 THEN 'INAVLIDO A VENDA' ELSE 'VALIDO' END AS STATUS_VENDA, ROUND((1 - (X.QUANTIDADE_LIMITE/X.QUANTIDADE_VENDAS)),3) * 100 AS PERCENTUAL FROM (SELECT NF.CPF, C.NOME AS CLIENTE, DATE_FORMAT(NF.DATA_VENDA,'%Y-%m') as MES_ANO, SUM(INF.QUANTIDADE) AS QUANTIDADE_VENDAS, MAX(C.VOLUME_DE_COMPRA) AS QUANTIDADE_LIMITE FROM NOTAS_FISCAIS NF INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO INNER JOIN TABELA_DE_CLIENTES C ON C.CPF = NF.CPF GROUP BY NF.CPF, C.NOME, DATE_FORMAT(NF.DATA_VENDA,'%Y-%m')) X WHERE (X.QUANTIDADE_LIMITE - X.QUANTIDADE_VENDAS) < 0 ORDER BY X.MES_ANO, X.CLIENTE;

1 resposta

Olá Edson!

Nesse caso, você está utilizando uma subconsulta (SUB QUERY), você realizando um SELECT a partir de um outro SELECT já realizado, e nesse caso podemos dizer que é uma outra tabela, porém uma outra tabela temporária que só existe por meio desse outro SELECT.

Espero que tenha ajudado!