GROUP BY с MAX () - PullRequest
       1

GROUP BY с MAX ()

1 голос
/ 15 октября 2019

Я новичок в sql, и мне нужно решить проблему, поэтому мне нужна помощь, пожалуйста

Например, в течение недели 04/2019, 720 мутаций отсутствуют по сравнению с реальной информацией

На самом деле проблема возникает из запроса. Действительно, в этом случае создается группа по CODE_COMMUNE и NOM_SITE, и возвращается значение MAX полей для этой коммуны и этого сайта. Это означает, что когда есть несколько мутаций на одном и том же сайте одной и той же коммуны, возвращается только одна мутация, которая объясняет отсутствующие мутации.

Так что я бы хотел вернуть все мутации на одном и том же сайтета же коммуна.

Как я могу это сделать?

`select IPO_VILLE.CODE_COMMUNE, 
   IPO_SITE.NOM_SITE,
     MAX(IPO_AT.DATE_MUTATION) DATE_MUTATION,
     MAX(IPO_AT.IAR_NDFICTIF) IAR_NDFICTIF,
     MAX(IPO_AT.MUTATION_REALISEE_PAR) MUTATION_REALISEE_PAR,
     MAX(IPO_AT.CAUSE_MUTATION) CAUSE_MUTATION,
     MAX(IPO_AT.CODE_BASICAT) CODE_BASICAT,
     MAX(IPO_AT.PIGTAIL_FIBRE_CONN_COURANT) FIBRE_COURANT,
     MAX(IPO_AT.PIGTAIL_FIBRE_CONN_CIBLE) FIBRE_CIBLE,
     MAX(IPO_AT.NOM_PB_COURANT) NOM_PB_COURANT,
     MAX(IPO_AT.NOM_PB) NOM_PB_CIBLE,
     MAX(IPO_AT.NOM_PM_COURANT) NOM_PM_COURANT,
     MAX(IPO_AT.NOM_PM) NOM_PM_CIBLE,
     MAX(IPO_AT.INTERVENTION_NUMBER) INTERVENTION_NUMBER,
     MAX(IPO_AT.GPC_BASE) GPC_BASE
from EDRPRE.IPO_AT IPO_AT
left join EDRPRE.IPO_LOGEMENT IPO_LOGEMENT ON IPO_AT.OBJECTID_LOGEMENT = IPO_LOGEMENT.OBJECTID_LOGEMENT
left join EDRPRE.IPO_SITE IPO_SITE ON IPO_LOGEMENT.OBJECTID_IMMEUBLE = IPO_SITE.OBJECTID_SITE
left join EDRPRE.IPO_RUE IPO_RUE ON IPO_SITE.OBJECTID_RUE = IPO_RUE.OBJECTID_RUE
left join EDRPRE.IPO_VILLE IPO_VILLE ON IPO_RUE.OBJECTID_COMMUNE  = IPO_VILLE.OBJECTID_COMMUNE
where IPO_AT.DATE_MUTATION is not null and IPO_AT.DATE_MUTATION >= TRUNC(sysdate-5, 'DD')
and IPO_VILLE.CODE_COMMUNE is not null and IPO_SITE.NOM_SITE is not null
group by IPO_VILLE.CODE_COMMUNE,IPO_SITE.NOM_SITE
order by IPO_VILLE.CODE_COMMUNE,IPO_SITE.NOM_SITE;`

1 Ответ

0 голосов
/ 16 октября 2019

попробуйте получить все записи:

select IPO_VILLE.CODE_COMMUNE, 
   IPO_SITE.NOM_SITE,
     IPO_AT.DATE_MUTATION ,
     IPO_AT.IAR_NDFICTIF ,
     IPO_AT.MUTATION_REALISEE_PAR ,
     IPO_AT.CAUSE_MUTATION ,
     IPO_AT.CODE_BASICAT ,
     IPO_AT.PIGTAIL_FIBRE_CONN_COURANT ,
     IPO_AT.PIGTAIL_FIBRE_CONN_CIBLE ,
     IPO_AT.NOM_PB_COURANT ,
     IPO_AT.NOM_PB ,
     IPO_AT.NOM_PM_COURANT ,
     IPO_AT.NOM_PM ,
     IPO_AT.INTERVENTION_NUMBER ,
     IPO_AT.GPC_BASE 
from EDRPRE.IPO_AT IPO_AT
left join EDRPRE.IPO_LOGEMENT IPO_LOGEMENT ON IPO_AT.OBJECTID_LOGEMENT = IPO_LOGEMENT.OBJECTID_LOGEMENT
left join EDRPRE.IPO_SITE IPO_SITE ON IPO_LOGEMENT.OBJECTID_IMMEUBLE = IPO_SITE.OBJECTID_SITE
left join EDRPRE.IPO_RUE IPO_RUE ON IPO_SITE.OBJECTID_RUE = IPO_RUE.OBJECTID_RUE
left join EDRPRE.IPO_VILLE IPO_VILLE ON IPO_RUE.OBJECTID_COMMUNE  = IPO_VILLE.OBJECTID_COMMUNE
where IPO_AT.DATE_MUTATION is not null and IPO_AT.DATE_MUTATION >= TRUNC(sysdate-5, 'DD')
and IPO_VILLE.CODE_COMMUNE is not null and IPO_SITE.NOM_SITE is not null 
order by IPO_VILLE.CODE_COMMUNE,IPO_SITE.NOM_SITE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...