SQL : Sortir une ligne par identifiants
Résolu/Fermé
Nicoyac
-
17 avril 2009 à 10:40
Sacha79 Messages postés 29 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 5 février 2010 - 7 juil. 2009 à 10:45
Sacha79 Messages postés 29 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 5 février 2010 - 7 juil. 2009 à 10:45
A voir également:
- SQL : Sortir une ligne par identifiants
- Logiciel sql - Télécharger - Bases de données
- Sql server recovery - Télécharger - Gestion de données
- Sql pix - Forum Python
- Dupliquer une table sql ✓ - Forum Programmation
- Sql commence par ✓ - Forum Webmastering
7 réponses
Coucou !!
J'ai pas vraiment tout compris mais si je te cite :
Aujourd'hui j'arrive, soit à sortir une table avec l'id uniquement mais pas les autres champs en faisant :
SELECT id
FROM TABLE DEPART
GROUP BY id
Si tu veux les autres champs, t'as juste à écrire :
SELECT *
FROM TABLE DEPART
GROUP BY id
Non ??
Bon courage !!
J'ai pas vraiment tout compris mais si je te cite :
Aujourd'hui j'arrive, soit à sortir une table avec l'id uniquement mais pas les autres champs en faisant :
SELECT id
FROM TABLE DEPART
GROUP BY id
Si tu veux les autres champs, t'as juste à écrire :
SELECT *
FROM TABLE DEPART
GROUP BY id
Non ??
Bon courage !!
Je me rend compte que la demande n'est pas très clair donc voici la table de départ et la table voulue en résultat :
TABLE DEPART
id--id2--modele
1--a--toto
2--b--titi
3--c--papa
1--d--dodo
3--e--tata
TABLE RESULTAT
1--a--toto
2--b--titi
3--e--tata
TABLE DEPART
id--id2--modele
1--a--toto
2--b--titi
3--c--papa
1--d--dodo
3--e--tata
TABLE RESULTAT
1--a--toto
2--b--titi
3--e--tata
lefadrine
Messages postés
28
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
20 avril 2010
11
17 avril 2009 à 11:11
17 avril 2009 à 11:11
salut,
je reprends un peu : tu as 2 tables, DEPART ET ARRIVEE.
mais que veux-tu obtenir réellement, je n'ai pas bien compris ce que tu cherche à sortir...
et qu'est ce que ton id2 ?
arrivee.id1 = clé étrangère sur depart ?
arrivee.id2 = clé étrangère sur depart?
Explique et détaille nous plus précisément tes tables, tes champs, et donne peut-être un exemple de ce que tu souhaites obtenir comme résultats pour ta requête ;-)
erratum : ah je crois que tu as été plus rapide que moi...
je reprends un peu : tu as 2 tables, DEPART ET ARRIVEE.
mais que veux-tu obtenir réellement, je n'ai pas bien compris ce que tu cherche à sortir...
et qu'est ce que ton id2 ?
arrivee.id1 = clé étrangère sur depart ?
arrivee.id2 = clé étrangère sur depart?
Explique et détaille nous plus précisément tes tables, tes champs, et donne peut-être un exemple de ce que tu souhaites obtenir comme résultats pour ta requête ;-)
erratum : ah je crois que tu as été plus rapide que moi...
Alors,
ETRANGER, ta deuxième proposition ne fonctionnera pas non plus et justement là est tout le problème :
Si je fais "SELECT id FROM TABLE DEPART GROUP BY id", j'obtiens le bon dédoublonnage mais pas les bonnes infos. Et si je fais SELECT * FROM TABLE DEPART GROUP BY id, id2, modele", j'obtiens les bonnes infos mais pas le bon dédoublonnage (qui se fera sur les trois champs) !
Concernant la question de LEFADRINE la table d'entrée a une double clé : id et id2 mais je cherche à dédoublonner uniquement sur id en prenant la première valeur de "modele" après tri, en l'occurence la syntaxe SQL de ce que je veux pourrais ressembler à cela mais cette syntaxe est fausse :
SELECT *
FROM TABLE DEPART
GROUP BY id
ORDER BY modele DESC
ETRANGER, ta deuxième proposition ne fonctionnera pas non plus et justement là est tout le problème :
Si je fais "SELECT id FROM TABLE DEPART GROUP BY id", j'obtiens le bon dédoublonnage mais pas les bonnes infos. Et si je fais SELECT * FROM TABLE DEPART GROUP BY id, id2, modele", j'obtiens les bonnes infos mais pas le bon dédoublonnage (qui se fera sur les trois champs) !
Concernant la question de LEFADRINE la table d'entrée a une double clé : id et id2 mais je cherche à dédoublonner uniquement sur id en prenant la première valeur de "modele" après tri, en l'occurence la syntaxe SQL de ce que je veux pourrais ressembler à cela mais cette syntaxe est fausse :
SELECT *
FROM TABLE DEPART
GROUP BY id
ORDER BY modele DESC
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lefadrine
Messages postés
28
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
20 avril 2010
11
17 avril 2009 à 11:38
17 avril 2009 à 11:38
ah je vois ce que tu veux :
tu veux obtenir pour un id donné la ligne qui a le modele le plus grand ?
exemple :
DEPART
1 a abc
1 b zzz
RESULTAT
1 a abc
tu veux obtenir pour un id donné la ligne qui a le modele le plus grand ?
exemple :
DEPART
1 a abc
1 b zzz
RESULTAT
1 a abc
lefadrine
Messages postés
28
Date d'inscription
vendredi 17 avril 2009
Statut
Membre
Dernière intervention
20 avril 2010
11
17 avril 2009 à 11:46
17 avril 2009 à 11:46
dans ce cas, tu as besoin d'une sous requete :
voilà ;)
SELECT * FROM arrivee WHERE modele IN (SELECT MAX(modele) FROM arrivee GROUP BY id);
voilà ;)
Lefadrine,
La requête que tu m'as indiqué ne me convient pas vraiment puisque les modèles se répétent souvent dans la table (non visible dans mon exemple). Pour mieux l'exprimer, les id correpondent à des personnes et le modèle à un véhicule. Si pour la personne 1 je sélectionne la veleur max soit par exemple 2CV alors avec cette requête je sortirai par la suite toutes les 2CV de la table.
Par contre ta réponse m'a donné la solution en effet la requéte qui fonctionnera sera :
SELECT MAX(Modèle), id
FROM TABLE ENTREE
GROUP BY id
Merci à vous deux pour votre aide, à charge de revanche,
Nicoyac
La requête que tu m'as indiqué ne me convient pas vraiment puisque les modèles se répétent souvent dans la table (non visible dans mon exemple). Pour mieux l'exprimer, les id correpondent à des personnes et le modèle à un véhicule. Si pour la personne 1 je sélectionne la veleur max soit par exemple 2CV alors avec cette requête je sortirai par la suite toutes les 2CV de la table.
Par contre ta réponse m'a donné la solution en effet la requéte qui fonctionnera sera :
SELECT MAX(Modèle), id
FROM TABLE ENTREE
GROUP BY id
Merci à vous deux pour votre aide, à charge de revanche,
Nicoyac
Sacha79
Messages postés
29
Date d'inscription
samedi 27 juin 2009
Statut
Membre
Dernière intervention
5 février 2010
8
7 juil. 2009 à 10:45
7 juil. 2009 à 10:45
Est-ce que cette requête ne répondrait pas à ta question : Reccupérer le détail de la valeur MAX d'une table enfant : SUJET : Table Parent COMMENTAIRE : Table Enfant
http://ww11.xoowiki.com/Article/SQL-Server/detail-dune-valeur-max-enfant-143.aspx
http://ww11.xoowiki.com/Article/SQL-Server/detail-dune-valeur-max-enfant-143.aspx
17 avril 2009 à 11:01
Bonne journée,