Problema no select utilizando Database Link e full join
11/05/2011
0
Olá pessoal,
Estou com problema ao rodar uma query que contém um database link e um full join, acontece que ao executar a query toda só obtenho informações da tabela B, agora se eu rodar o select de cadatabela consigo os resultados esperado tanto da tabela A como da tabela B. Query esta em anexo
SELECT NVL(B.NOME,'VERIFICAR PAGAMENTO'||' - '||A.TITULO) AS "PRESTADOR", B.COMPRA AS "COMPRA INFOMED", NVL(B.VALOR_BRUTO,0) AS "VALOR", A.VALOR AS "VALOR PIRAMIDE", CASE WHEN A.VALOR IS NOT NULL THEN 'EXPORTAÇAO OK' ELSE 'NÃO EXPORTADO' END AS "SITUAÇÃO" FROM (SELECT TP.FORNEC, NVL( C.NOME,'VERIFICAR TITULO') NOME, TP.TITULO AS TITULO, TP.VALOR FROM TITULO_PAG TP, FORNEC C, FORNEC_SEGMENTO FC WHERE TRUNC(TP.ENTRADA) BETWEEN TO_DATE('01/04/2011','DD/MM/YYYY') AND TO_DATE('25/06/2011','DD/MM/YYYY') AND TP.FORNEC = C.CODIGO AND C.CODIGO = FC.COD_FORNEC AND FC.COD_SEGMER BETWEEN '0400' AND '0403' AND C.AREA NOT IN ('TO', 'PE') ORDER BY TP.TITULO)A FULL JOIN (SELECT L.LFP_CTP_COD_CONTRATO AS PRESTADOR, NVL(J.PSJ_RAZAO_SOCIAL, F.PSF_NOME) AS NOME, C.CMP_CODIGO_COMPRA AS COMPRA, C.CMP_DATA AS DATA_COMPRA, C.CMP_VALOR_TOTAL_COMPRA AS VALOR_COMPRA, SUM (L.LFP_VALOR) AS VALOR_BRUTO FROM INF_LANCAMENTOS_FIN_PREST@INFO L, INF_COMPRAS@INFO C, INF_TIPOS_LANCAMENTO@INFO T, INF_CONTRATOS_DE_PRESTADOR@INFO CP, INF_PESSOAS_JURIDICAS@INFO J, INF_PESSOAS_FISICAS@INFO F WHERE C.CMP_OCORRENCIA = L.LFP_OCORRENCIA_CONTAS_PAGAR AND C.CMP_CTP_COD_CONTRATO = L.LFP_CTP_COD_CONTRATO AND C.CMP_CTP_COD_CONTRATO = CP.CTP_COD_CONTRATO AND CP.CTP_PSS_COD_PESSOA = J.PSJ_PSS_COD_PESSOA (+) AND CP.CTP_PSS_COD_PESSOA = F.PSF_PSS_COD_PESSOA (+) AND C.CMP_ORIGEM_PRODUCAO = 'S' AND C.CMP_CANCELADA = 'N' AND T.TLA_CODIGO_TIPO_LANCAMENTO = L.LFP_TLA_CODIGO_TIPO_LANCAMENTO AND T.TLA_INDICADOR_CRED_DEB = 'C' AND L.LFP_PRE_NUMERO_PERIODO = '042011' GROUP BY L.LFP_CTP_COD_CONTRATO, NVL(J.PSJ_RAZAO_SOCIAL, F.PSF_NOME), C.CMP_CODIGO_COMPRA, C.CMP_DATA, C.CMP_VALOR_TOTAL_COMPRA )B ON (A.TITULO = TO_CHAR(B.COMPRA))
Estou com problema ao rodar uma query que contém um database link e um full join, acontece que ao executar a query toda só obtenho informações da tabela B, agora se eu rodar o select de cadatabela consigo os resultados esperado tanto da tabela A como da tabela B. Query esta em anexo
SELECT NVL(B.NOME,'VERIFICAR PAGAMENTO'||' - '||A.TITULO) AS "PRESTADOR", B.COMPRA AS "COMPRA INFOMED", NVL(B.VALOR_BRUTO,0) AS "VALOR", A.VALOR AS "VALOR PIRAMIDE", CASE WHEN A.VALOR IS NOT NULL THEN 'EXPORTAÇAO OK' ELSE 'NÃO EXPORTADO' END AS "SITUAÇÃO" FROM (SELECT TP.FORNEC, NVL( C.NOME,'VERIFICAR TITULO') NOME, TP.TITULO AS TITULO, TP.VALOR FROM TITULO_PAG TP, FORNEC C, FORNEC_SEGMENTO FC WHERE TRUNC(TP.ENTRADA) BETWEEN TO_DATE('01/04/2011','DD/MM/YYYY') AND TO_DATE('25/06/2011','DD/MM/YYYY') AND TP.FORNEC = C.CODIGO AND C.CODIGO = FC.COD_FORNEC AND FC.COD_SEGMER BETWEEN '0400' AND '0403' AND C.AREA NOT IN ('TO', 'PE') ORDER BY TP.TITULO)A FULL JOIN (SELECT L.LFP_CTP_COD_CONTRATO AS PRESTADOR, NVL(J.PSJ_RAZAO_SOCIAL, F.PSF_NOME) AS NOME, C.CMP_CODIGO_COMPRA AS COMPRA, C.CMP_DATA AS DATA_COMPRA, C.CMP_VALOR_TOTAL_COMPRA AS VALOR_COMPRA, SUM (L.LFP_VALOR) AS VALOR_BRUTO FROM INF_LANCAMENTOS_FIN_PREST@INFO L, INF_COMPRAS@INFO C, INF_TIPOS_LANCAMENTO@INFO T, INF_CONTRATOS_DE_PRESTADOR@INFO CP, INF_PESSOAS_JURIDICAS@INFO J, INF_PESSOAS_FISICAS@INFO F WHERE C.CMP_OCORRENCIA = L.LFP_OCORRENCIA_CONTAS_PAGAR AND C.CMP_CTP_COD_CONTRATO = L.LFP_CTP_COD_CONTRATO AND C.CMP_CTP_COD_CONTRATO = CP.CTP_COD_CONTRATO AND CP.CTP_PSS_COD_PESSOA = J.PSJ_PSS_COD_PESSOA (+) AND CP.CTP_PSS_COD_PESSOA = F.PSF_PSS_COD_PESSOA (+) AND C.CMP_ORIGEM_PRODUCAO = 'S' AND C.CMP_CANCELADA = 'N' AND T.TLA_CODIGO_TIPO_LANCAMENTO = L.LFP_TLA_CODIGO_TIPO_LANCAMENTO AND T.TLA_INDICADOR_CRED_DEB = 'C' AND L.LFP_PRE_NUMERO_PERIODO = '042011' GROUP BY L.LFP_CTP_COD_CONTRATO, NVL(J.PSJ_RAZAO_SOCIAL, F.PSF_NOME), C.CMP_CODIGO_COMPRA, C.CMP_DATA, C.CMP_VALOR_TOTAL_COMPRA )B ON (A.TITULO = TO_CHAR(B.COMPRA))
Clecio Pessoa
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)