Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
422 views
in Technique[技术] by (71.8m points)

select - Is there any way to nest two subqueries in SQL?

I need to nest these two subqueries to work, anyone can help me ? I made some comments but just to test, it doesn't work saying that there are two many arguments. I need to make the changes to make it run. I've tried to make a subselect in the second view containing the arguments and content of the first view but it doesn't work at all.

SELECT (SELECT
    --             b.dt_entrada
    --              extract (MONTH FROM d_entrada) mes_entrada
    --            extract (YEAR FROM b.dt_entrada) ano_entrada,
    --            SubStr(obter_desc_setor_atend(b.cd_setor_atendimento),1,255) ds_setor_atendimento,
    --            MIN(a.DT_AVALIACAO) dt_avaliacao,
    --            b.nm_paciente,
    --            b.ds_setor_leito,
    --            b.ds_setor_leito,
    --            ((MIN(a.DT_AVALIACAO) - b.DT_ENTRADA)*24) horas,
    --            CASE
    --            WHEN((MIN(a.DT_AVALIACAO) - b.DT_ENTRADA)*24) <=48 THEN 'Sim'
    --            WHEN((MIN(a.DT_AVALIACAO) - b.DT_ENTRADA)*24) >48 THEN 'N?o'
    --            END AS result,
    --            CASE
    --            WHEN b.cd_classif_setor = 4 THEN 'Linha crítica'
    --            WHEN b.cd_classif_setor = 3 AND b.cd_setor_atendimento IN (57,37) THEN 'Linha cirúrgica'
    --            WHEN b.cd_classif_setor = 3 AND b.cd_setor_atendimento NOT IN (145,57,37) THEN 'Linha médica'
    --            WHEN b.cd_classif_setor = 3 AND b.cd_setor_atendimento = 145 THEN 'AVC'
    --            ELSE 'Outros'
    --            END AS linha_cuidado,
    --            b.nr_atendimento,
    --            b.cd_pessoa_fisica,
    --            b.cd_setor_atendimento,
    --            b.cd_classif_setor
              FROM hmdcc_eis_admitidos
              WHERE mes = mes_entrada
              AND ano = ano_entrada
              AND linha_cuidado = linha_cuidado
    )qtd_admitidos
    FROM (SELECT
                    b.dt_entrada,
                    extract (MONTH FROM b.dt_entrada) mes_entrada,
                    extract (YEAR FROM b.dt_entrada) ano_entrada,
                    SubStr(obter_desc_setor_atend(b.cd_setor_atendimento),1,255) ds_setor_atendimento,
                    MIN(a.DT_AVALIACAO) dt_avaliacao,
                    b.nm_paciente,
                    b.ds_setor_leito,
                    ((MIN(a.DT_AVALIACAO) - b.DT_ENTRADA)*24) horas,
                    CASE
                      WHEN((MIN(a.DT_AVALIACAO) - b.DT_ENTRADA)*24) <=48 THEN 'Sim'
                      WHEN((MIN(a.DT_AVALIACAO) - b.DT_ENTRADA)*24) >48 THEN 'N?o'
                    END AS result,
                    CASE
                    WHEN b.cd_classif_setor = 4 THEN 'Linha crítica'
                    WHEN b.cd_classif_setor = 3 AND b.cd_setor_atendimento IN (57,37) THEN 'Linha cirúrgica'
                    WHEN b.cd_classif_setor = 3 AND b.cd_setor_atendimento NOT IN (145,57,37) THEN 'Linha médica'
                    WHEN b.cd_classif_setor = 3 AND b.cd_setor_atendimento = 145 THEN 'AVC'
                    ELSE 'Outros'
                    END AS linha_cuidado,
                    b.nr_atendimento,
                    b.cd_pessoa_fisica,
                    b.cd_setor_atendimento,
                    b.cd_classif_setor
            FROM    escala_nrs a,
                    atendimento_paciente_v b,
                     hmdcc_eis_admitidos c
            WHERE a.dt_liberacao is not NULL
                  AND a.ie_situacao = 'A'
                  AND b.nr_atendimento = a.nr_atendimento
                  --AND cd_classif_setor in (3,4) -- Excluído a pedido do cliente
                  AND b.dt_entrada BETWEEN To_Date('01/09/2020', 'dd/mm/yyyy') AND To_Date('30/09/2020', 'dd/mm/yyyy')
                  AND b.dt_cancelamento IS NULL -- Os atendimentos cancelados n?o s?o carregados
            GROUP BY b.dt_entrada,b.nm_paciente, b.ds_setor_leito, b.nr_atendimento, b.cd_setor_atendimento, b.cd_pessoa_fisica,b.cd_classif_setor
    )

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...