Transforma o resultado de Duas Consultas de Tabelas diferente, em uma única linha...
08/05/2022
0
Olá...uma ajuda nessa situação
As Duas tabelas possui os campos ID_D,
ID_ANO,
ID_NUM
para fazer relação.
SELECT ID_D, ID_ANO, ID_ANO, COUNT(ID_TIPO_A_F) AS Qtd_Ar
FROM TB_B_A
GROUP BY ID_D, ID_ANO, ID_NUM
HAVING (ID_D = 10335) AND (ID_ANO = 2022) AND (ID_NUM = 325)
Resultado : Qtd_Ar = 2
SELECT ID_D, ID_ANO, ID_NUM, ID_TIPO_P, COUNT(CONT_P) AS QTD_P
FROM TB_B_P
GROUP BY ID_D, ID_ANO, ID_NUM, ID_TIPO_PESSOA, FL_VEIO_AO_PL_P
HAVING (ID_D = 10335) AND (ID_ANO = 2022) AND (ID_NUM = 325)
and (ID_TIPO_P = 1) AND (FL_VEIO_AO_PL_P = 'S')
Resultado : QTD_P = 1
O ideal seria o resultado tipo desta forma:
ID_D = 10335, ID_ANO = 2022, ID_NUM, TB_B_A.Qtd_Ar = 2, TB_B_P.QTD_P = 1
As Duas tabelas possui os campos ID_D,
ID_ANO,
ID_NUM
para fazer relação.
SELECT ID_D, ID_ANO, ID_ANO, COUNT(ID_TIPO_A_F) AS Qtd_Ar
FROM TB_B_A
GROUP BY ID_D, ID_ANO, ID_NUM
HAVING (ID_D = 10335) AND (ID_ANO = 2022) AND (ID_NUM = 325)
Resultado : Qtd_Ar = 2
SELECT ID_D, ID_ANO, ID_NUM, ID_TIPO_P, COUNT(CONT_P) AS QTD_P
FROM TB_B_P
GROUP BY ID_D, ID_ANO, ID_NUM, ID_TIPO_PESSOA, FL_VEIO_AO_PL_P
HAVING (ID_D = 10335) AND (ID_ANO = 2022) AND (ID_NUM = 325)
and (ID_TIPO_P = 1) AND (FL_VEIO_AO_PL_P = 'S')
Resultado : QTD_P = 1
O ideal seria o resultado tipo desta forma:
ID_D = 10335, ID_ANO = 2022, ID_NUM, TB_B_A.Qtd_Ar = 2, TB_B_P.QTD_P = 1
Edivaldo Souza
Curtir tópico
+ 0
Responder
Posts
09/05/2022
Emerson Nascimento
tente algo assim:
SELECT A.ID_D, A.ID_ANO, A.ID_ANO, COUNT(A.ID_TIPO_A_F) AS Qtd_Ar, COUNT(B.CONT_P) AS QTD_P FROM TB_B_A A LEFT JOIN TB_B_P B ON B.ID_D = A.ID_D AND B.ID_ANO = A.ID_ANO AND B.ID_NUM = A.ID_NUM AND (B.ID_TIPO_P = 1) AND (B.FL_VEIO_AO_PL_P = 'S') WHERE A.ID_D = 10335 AND A.ID_ANO = 2022 AND A.ID_NUM = 325 GROUP BY A.ID_D, A.ID_ANO, A.ID_NUM
Responder
10/05/2022
Edivaldo Souza
tente algo assim:
SELECT A.ID_D, A.ID_ANO, A.ID_ANO, COUNT(A.ID_TIPO_A_F) AS Qtd_Ar, COUNT(B.CONT_P) AS QTD_P FROM TB_B_A A LEFT JOIN TB_B_P B ON B.ID_D = A.ID_D AND B.ID_ANO = A.ID_ANO AND B.ID_NUM = A.ID_NUM AND (B.ID_TIPO_P = 1) AND (B.FL_VEIO_AO_PL_P = 'S') WHERE A.ID_D = 10335 AND A.ID_ANO = 2022 AND A.ID_NUM = 325 GROUP BY A.ID_D, A.ID_ANO, A.ID_NUM
OPA EMERSON...OBRIGADO MAS NAO DEU CERTO , CREIO QUE É DEVIDO A FORMA QUE FOI CONSTRUIDA AS TABELAS....
NAO SEI SE SERIA O CASO DE SUBQUERY, PEGAR UM RESULTADO VIRTUAL E FAZER JOIN COM A OUTRA TABELA...
Responder
Clique aqui para fazer login e interagir na Comunidade :)