sql >> Database >  >> RDS >> Oracle

ORACLE SQL-groep door NOG STEEDS duplicaten te geven

Als CREATIONDATE een datumgegevenstype is, bevat het het tijdelement tot in seconden. Het is hoogst onwaarschijnlijk dat de incident-ID's waarnaar u op zoek bent, de exacte tijd hebben. Formatteer de datum naar een ISO-datum en de GROUP BY negeert de tijdsverschillen.

SELECT TO_CHAR(MIN(I.INCIDENTID))      AS "Incident ID",
          to_char(I.CREATIONDATE, 'yyyy-mm-dd') AS "Creation Date",
          M.MESSAGESUBJECT                AS "Email Subject",
          MO.IPADDRESS                    AS "IP Address",
          MO.DOMAINUSERNAME               AS "Login ID",
          MO.ENDPOINTMACHINENAME          AS "Computer Name"
   FROM        MESSAGE M 
   LEFT JOIN   INCIDENT I 
   ON          M.MESSAGESOURCE = I.MESSAGESOURCE 
   AND         M.MESSAGEID = I.MESSAGEID
   AND         M.MESSAGEDATE    = I.MESSAGEDATE 
   LEFT JOIN   MESSAGEORIGINATOR MO
   ON          M.MESSAGEORIGINATORID = MO.MESSAGEORIGINATORID
   LEFT JOIN   MESSAGEEXT ME
   ON          ME.MESSAGEID = M.MESSAGEID
   LEFT JOIN   INCIDENTSTATUS S
   ON          S.INCIDENTSTATUSID = I.INCIDENTSTATUSID
   LEFT JOIN   CUSTOMATTRIBUTESRECORD C
   ON          C.CUSTOMATTRIBUTESRECORDID = I.CUSTOMATTRIBUTESRECORDID                    
   GROUP BY    to_char(I.CREATIONDATE, 'yyyy-mm-dd') 
               M.MESSAGESUBJECT,
               MO.IPADDRESS,
               MO.DOMAINUSERNAME,
               MO.ENDPOINTMACHINENAME



  1. Waarom gaat het volgorde-item van Postgres omhoog, zelfs als het maken van objecten mislukt?

  2. Datum tot milliseconden / milliseconden tot nu toe

  3. Hoe voeg ik op de juiste manier meerdere rijen in PG in met node-postgres?

  4. trigger mysql onbekende tabel