J'ai essayé de trouver des informations sur la façon de sélectionner une colonne non agrégée qui n'est pas contenue dans l'instruction Group By en SQL, mais rien de ce que j'ai trouvé jusqu'à présent ne semble répondre à ma question. J'ai une table avec trois colonnes que je veux extraire. L'une est une date de création, l'autre est un ID qui regroupe les enregistrements par un ID de réclamation particulier, et la dernière est le PK. Je veux trouver l'enregistrement qui a la date de création maximale dans chaque groupe d'ID de réclamation. Je sélectionne le MAX(date de création) et l'ID du sinistre (cpe.fmgcms_cpeclaimid), et je regroupe par l'ID du sinistre. Mais j'ai besoin du PK de ces enregistrements (cpe.fmgcms_claimid), et si j'essaie de l'ajouter à ma clause de sélection, j'obtiens une erreur. Et je ne peux pas l'ajouter à ma clause group by parce qu'alors, cela annulerait le regroupement que j'avais prévu. Est-ce que quelqu'un connaît une solution à ce problème ? Voici un exemple de mon code :
Select MAX(cpe.createdon) As MaxDate, cpe.fmgcms_cpeclaimid
from Filteredfmgcms_claimpaymentestimate cpe
where cpe.createdon < 'reportstartdate'
group by cpe.fmgcms_cpeclaimid
Voici le résultat que j'aimerais obtenir :
Select MAX(cpe.createdon) As MaxDate, cpe.fmgcms_cpeclaimid, cpe.fmgcms_claimid
from Filteredfmgcms_claimpaymentestimate cpe
where cpe.createdon < 'reportstartdate'
group by cpe.fmgcms_cpeclaimid