Pular para o conteúdo

Fóruns SQL e PL/SQL Auxílio com query Auxílio com query

#107031
rman
Participante

    @luckzin

    Recomendo o uso de JOIN. A QUERY fica mais limpa e de fácil entendimento.


    SELECT
    PRESTADOR.CD_PRESTADOR,
    PRESTADOR.NM_PRESTADOR,
    MAX(PRE_MED.DT_PRE_MED) AS DT_ULTIMA_PRESCICAO,
    MAX(ATENDIME.DT_ATENDIMENTO) AS DT_ULTIMO_ATENDIMENTO
    FROM PRESTADOR
    LEFT JOIN PRE_MED ON PRE_MED.CD_PRESTADOR = PRESTADOR.CD_PRESTADOR
    LEFT JOIN ATENDIME ON ATENDIME.CD_PRESTADOR = PRESTADOR.CD_PRESTADOR
    GROUP BY
    PRESTADOR.CD_PRESTADOR,
    PRESTADOR.NM_PRESTADOR
    ORDER BY
    PRESTADOR.CD_PRESTADOR;

    A QUERY que você fez corresponde ao INNER JOIN. Mas para trazer o que você quer é necessário utilizar o LEFT JOIN.

    Segue um artigo sobre os tipos de JOIN:

    http://www.devmedia.com.br/inner-cross-left-rigth-e-full-joins/21016