› Fóruns › SQL e PL/SQL › Select with internal join › Select with internal join
The most intresting is that the follow query works fine but when i replace it for the column TB.ICMS i get the issue.
I tried to put a group by with the two columns i need and didn’t work as well.
--INNER JOIN INTERNO USANDO JOIN
SELECT
TB.CD_EXERCICIO,
TB.TESTE
--TB.ICMS
FROM (
SELECT
TB2.cd_exercicio CD_EXERCICIO,
('FUNCIONA') TESTE
/*
SUM(
CASE
WHEN nr1.cd_natureza_receita >= 1113020000
AND nr1.cd_natureza_receita <= 1113029999
THEN DECODE(1,1, rmsub.vl_realizado, rmsub.valr_arrecadado)
ELSE NULL
END ) ICMS
*/
FROM receita r
INNER JOIN receita_mes rmsub
ON rmsub.id_receita = r.id_receita
INNER JOIN elaboracao_receita ersub
ON (r.id_elaboracao_receita = ersub.id_elaboracao_receita)
INNER JOIN natureza_receita nr1
ON (r.id_natureza_receita = nr1.id_natureza_receita
AND nr1.cd_exercicio = ersub.cd_exercicio)
INNER JOIN (
SELECT
elaboracao_receita.cd_exercicio,
receita.id_receita,
receita.id_elaboracao_receita,
receita.id_natureza_receita
FROM receita
JOIN receita_mes
ON (receita_mes.id_receita = receita.id_receita)
JOIN elaboracao_receita
ON (elaboracao_receita.id_elaboracao_receita = receita.id_elaboracao_receita)
JOIN natureza_receita
ON (natureza_receita.id_natureza_receita = receita.id_natureza_receita AND natureza_receita.cd_exercicio = elaboracao_receita.cd_exercicio)
) TB2 ON ( TB2.cd_exercicio = nr1.cd_exercicio
AND TB2.cd_exercicio = ersub.cd_exercicio
AND TB2.id_receita = r.id_receita
AND TB2.id_receita = rmsub.id_receita
AND TB2.id_elaboracao_receita = r.id_elaboracao_receita
AND TB2.id_elaboracao_receita = ersub.id_elaboracao_receita
AND TB2.id_natureza_receita = r.id_natureza_receita
AND TB2.id_natureza_receita = nr1.id_natureza_receita
)
) TB
WHERE 1 = 1
AND TB.CD_EXERCICIO = 2013