Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Prendre le max d'un doublon

5 réponses
Avatar
Christine Imbeault
bonjour à tous,

Mat Nom Formation Date
7700 a M1111 2009-01-01
7700 a M1111 2009-03-05
1111 b M1111 2009-01-01
1111 b M1111 2009-03-05

Je débute avec les requêtes SQL et j'aurais grandement besoin de votre aide.
Lorsque les champs Mat, Nom et Formation sont doublons, j'aimerais qu'il
prenne le max du champ date. Mon résultat devrait ressembler à celui
ci-dessous. Comment y arriver ?

Mat Nom Formation Date
7700 a M1111 2009-03-05
1111 b M1111 2009-03-05

Merci à l'avance
Bonne fin de journée
Christine

5 réponses

Avatar
EmanuelL
Bonjour Christine,

Pas testé, essaies peut-être cette solution qui m' a été proposé ici
même :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE = (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Cordialement.


Christine Imbeault a formulé la demande :
bonjour à tous,

Mat Nom Formation Date
7700 a M1111 2009-01-01
7700 a M1111 2009-03-05
1111 b M1111 2009-01-01
1111 b M1111 2009-03-05

Je débute avec les requêtes SQL et j'aurais grandement besoin de votre aide.
Lorsque les champs Mat, Nom et Formation sont doublons, j'aimerais qu'il
prenne le max du champ date. Mon résultat devrait ressembler à celui
ci-dessous. Comment y arriver ?

Mat Nom Formation Date
7700 a M1111 2009-03-05
1111 b M1111 2009-03-05

Merci à l'avance
Bonne fin de journée
Christine



--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Avatar
Christine Imbeault
Un gros merci

"EmanuelL" a écrit :

Bonjour Christine,

Pas testé, essaies peut-être cette solution qui m' a été proposé ici
même :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE = (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Cordialement.


Christine Imbeault a formulé la demande :
> bonjour à tous,
>
> Mat Nom Formation Date
> 7700 a M1111 2009-01-01
> 7700 a M1111 2009-03-05
> 1111 b M1111 2009-01-01
> 1111 b M1111 2009-03-05
>
> Je débute avec les requêtes SQL et j'aurais grandement besoin de votre aide.
> Lorsque les champs Mat, Nom et Formation sont doublons, j'aimerais qu'il
> prenne le max du champ date. Mon résultat devrait ressembler à celui
> ci-dessous. Comment y arriver ?
>
> Mat Nom Formation Date
> 7700 a M1111 2009-03-05
> 1111 b M1111 2009-03-05
>
> Merci à l'avance
> Bonne fin de journée
> Christine

--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org





Avatar
Christine Imbeault
Bonjour,

Mat Nom Formation Date
7700 a M1111 2009-03-05
7700 a M1111 2009-03-05
7700 a M2222 2009-09-05

J'ai encore un petit pépin. La solution que vous m'avez proposé fonctionne
bien. J'ai oublié de vous mentionner que je pouvais avoir des formations
différentes. J'aimerais avoir le résultat ci-dessous

Mat Nom Formation Date
7700 a M1111 2009-03-05
7700 a M2222 2009-09-05

Présentement, le résultat me donne
7700 a M2222 2009-09-05

Merci de votre temps
Bonne journée
Christine


"EmanuelL" a écrit :

Bonjour Christine,

Pas testé, essaies peut-être cette solution qui m' a été proposé ici
même :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE = (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Cordialement.


Christine Imbeault a formulé la demande :
> bonjour à tous,
>
> Mat Nom Formation Date
> 7700 a M1111 2009-01-01
> 7700 a M1111 2009-03-05
> 1111 b M1111 2009-01-01
> 1111 b M1111 2009-03-05
>
> Je débute avec les requêtes SQL et j'aurais grandement besoin de votre aide.
> Lorsque les champs Mat, Nom et Formation sont doublons, j'aimerais qu'il
> prenne le max du champ date. Mon résultat devrait ressembler à celui
> ci-dessous. Comment y arriver ?
>
> Mat Nom Formation Date
> 7700 a M1111 2009-03-05
> 1111 b M1111 2009-03-05
>
> Merci à l'avance
> Bonne fin de journée
> Christine

--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org





Avatar
EmanuelL
Christine,

Sans trop cherché plus loins, testes la solutions suivante, je pense
qu'il y a mieux, les experts peuvent d'ailleurs le confirmer :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)
AND T1.FORMATION (SELECT MAX(FORMATION)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Ou

HAVING MAX(M.Heure) = T.Heure

Christine Imbeault a exposé le 18.03.2009 :
Bonjour,

Mat Nom Formation Date
7700 a M1111 2009-03-05
7700 a M1111 2009-03-05
7700 a M2222 2009-09-05

J'ai encore un petit pépin. La solution que vous m'avez proposé fonctionne
bien. J'ai oublié de vous mentionner que je pouvais avoir des formations
différentes. J'aimerais avoir le résultat ci-dessous

Mat Nom Formation Date
7700 a M1111 2009-03-05
7700 a M2222 2009-09-05

Présentement, le résultat me donne
7700 a M2222 2009-09-05

Merci de votre temps
Bonne journée
Christine


"EmanuelL" a écrit :

Bonjour Christine,

Pas testé, essaies peut-être cette solution qui m' a été proposé ici
même :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE = (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Cordialement.


Christine Imbeault a formulé la demande :
bonjour à tous,

Mat Nom Formation Date
7700 a M1111 2009-01-01
7700 a M1111 2009-03-05
1111 b M1111 2009-01-01
1111 b M1111 2009-03-05

Je débute avec les requêtes SQL et j'aurais grandement besoin de votre
aide. Lorsque les champs Mat, Nom et Formation sont doublons, j'aimerais
qu'il prenne le max du champ date. Mon résultat devrait ressembler à
celui ci-dessous. Comment y arriver ?

Mat Nom Formation Date
7700 a M1111 2009-03-05
1111 b M1111 2009-03-05

Merci à l'avance
Bonne fin de journée
Christine



--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org








--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Avatar
EmanuelL
Oups, je voulais encore proposer ou :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)
AND T1.FORMATION (SELECT MAX(FORMATION)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT
HAVING MAX(T2.FORMATION) = T1.FORMATION)

;-)

EmanuelL a formulé ce mercredi :
Christine,

Sans trop cherché plus loins, testes la solutions suivante, je pense qu'il y
a mieux, les experts peuvent d'ailleurs le confirmer :

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE > (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)
AND T1.FORMATION > (SELECT MAX(FORMATION)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Ou

HAVING MAX(M.Heure) = T.Heure

Christine Imbeault a exposé le 18.03.2009 :
Bonjour,

Mat Nom Formation Date
7700 a M1111 2009-03-05 7700 a M1111
2009-03-05
7700 a M2222 2009-09-05

J'ai encore un petit pépin. La solution que vous m'avez proposé fonctionne
bien. J'ai oublié de vous mentionner que je pouvais avoir des formations
différentes. J'aimerais avoir le résultat ci-dessous

Mat Nom Formation Date
7700 a M1111 2009-03-05 7700 a M2222
2009-09-05

Présentement, le résultat me donne
7700 a M2222 2009-09-05

Merci de votre temps
Bonne journée Christine


"EmanuelL" a écrit :

Bonjour Christine,

Pas testé, essaies peut-être cette solution qui m' a été proposé ici même
:

SELECT T1.MAT, T1.NOM, T1.FORMATION, T1.DATE
FROM MA_TABLE AS T1
WHERE DATE = (SELECT MAX(DATE)
FROM MA_TABLE AS T2
WHERE T1.MAT = T2.MAT)

Cordialement.


Christine Imbeault a formulé la demande :
bonjour à tous,

Mat Nom Formation Date
7700 a M1111 2009-01-01
7700 a M1111 2009-03-05 1111 b M1111
2009-01-01
1111 b M1111 2009-03-05

Je débute avec les requêtes SQL et j'aurais grandement besoin de votre
aide. Lorsque les champs Mat, Nom et Formation sont doublons,
j'aimerais qu'il prenne le max du champ date. Mon résultat devrait
ressembler à celui ci-dessous. Comment y arriver ?

Mat Nom Formation Date
7700 a M1111 2009-03-05 1111 b M1111
2009-03-05

Merci à l'avance Bonne fin de journée
Christine



--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org










--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org