Prendre le max d'un doublon

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
EmanuelL
Le #18929491
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
Christine Imbeault
Le #18930011
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





Christine Imbeault
Le #18930451
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
Le #18931081
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
EmanuelL
Le #18931181
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
Publicité
Poster une réponse
Anonyme