Selectionner le dernier clé id

Fermé
melongourmand Messages postés 24 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 28 avril 2014 - Modifié par melongourmand le 28/05/2013 à 09:37
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 - 30 mai 2013 à 09:58
Bonjour,

Voila je cherche a selectionner dans une table sql en access le dernier enregistrement à traver des jointure de table pour supprimer des doublons je vous explique mon probleme .

exemple :

id | nom | prenom | commentaire
1 | toto | tata | blabla
2 | toto | tata | popo

voila mon code

 SELECT *
FROM ( SELECT table1.id,table1.pj_nom AS nom, table1.pj_prenom AS prenom, table2.com AS commentaire FROM (( table1 LEFT JOIN table2 ON table2.id2=table1.id1)) where  id=(SELECT max(id) FROM projet)) 


Ce code fonctionne mais il me donne que la dernier valeur de ma table1 normal , mais quant je cherche a joindre une autre table il a prent pas en compte .

Et quant je veut joindre des conditions pour par exemple dire de m'afficher que "blabla" dans la colonne commentaire il m'affiche plus rien meme si je défini bien en les séparant avec un AND une condition en disant commentaire like "blabla" il m'affiche 0 et le reste et blanc.

Donc avait vous une solution ?
A voir également:

2 réponses

blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
28 mai 2013 à 11:18
Salut,

pas tout compris ce que tu souhaites faire...
0
melongourmand Messages postés 24 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 28 avril 2014
28 mai 2013 à 11:51
Dans un tableau je veux selectionner la plus grande valeur soit la plus grande clé id .
La requette simple qui marche :
Select max (Id) from table1


Ne fonctionne que sur une table si il y a des doublons il ne selectionner que le dernier ca ok . Mais le probleme si je rajoute une colonne avec un resultat different comme bla et popo il m'afficheras les deux alors que je ne veux que "popo" car c'est la valeur la plus grande .
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
28 mai 2013 à 14:07
Non testé :

je ferais un truc comme SELECT max(id),table1.col1,table2.col2 FROM table1 INNER JOIN table2 ON table1.id = table2.id...
0
melongourmand Messages postés 24 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 28 avril 2014
28 mai 2013 à 14:39
merci pour ta reponse mais il se trouve que cela ce trouve sur la meme table. Mon probleme c'est quant x champs composer de par exemple 3 colonnes dans l'une d'elle il y a des valeurs differentes pour chaques champs . Et moi je voudrais selectionner le champs le plus elevés et supprimer les autres .
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
Modifié par blux le 28/05/2013 à 14:44
Dans ton message initial, tu parles de deux tables et dans ta réponse au-dessus tu parles d'une seule table !
J'ai du mal à comprendre...
0
melongourmand Messages postés 24 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 28 avril 2014
28 mai 2013 à 14:47
A l'avenir oui il auras plusieurs tables mais deja je n'arrive pas avec 1 -_-° . Donc pardon de m'avoir mal exprimée :$
0
blux Messages postés 26450 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 6 novembre 2024 3 312
28 mai 2013 à 14:51
Dans l'exemple de table que tu donnes au début, que cherches-tu à obtenir en résultat ?

toto ?
tata ?
toto, tata ?
...
0