SQL Comment faire un SELECT
Résolu/Fermé
Bonjour,
j'aimerais connaître le moyen de faire un SQL Select uniquement sur les entrées où le champ "value" est égal à un autre au moins deux fois.
je m'explique :
J'aimerais connaître le moyen de récupérer uniquement les valeurs du champ "NOM" pour la première et la troisième (car value est égal à 1).
j'aimerais connaître le moyen de faire un SQL Select uniquement sur les entrées où le champ "value" est égal à un autre au moins deux fois.
je m'explique :
TABLE Champs : name -- type -- value Entrées : Ja -- 0.8 -- 1 Entrées : Ba -- 0.9 -- 3 Entrées : Lo -- 0.6 -- 1
J'aimerais connaître le moyen de récupérer uniquement les valeurs du champ "NOM" pour la première et la troisième (car value est égal à 1).
A voir également:
- SQL Comment faire un SELECT
- Blob sql ✓ - Forum Webmastering
- Sql lister les tables ✓ - Forum Programmation
- Reboot and select proper boot device asus - Forum Matériel & Système
- Logiciel sql - Télécharger - Bases de données
- Requête sql pix - Forum Python
11 réponses
BadBoy3
Messages postés
108
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
7 janvier 2011
15
27 nov. 2009 à 12:39
27 nov. 2009 à 12:39
select * from tab
where value in (select value as test from tab
group by value
having count(name)>1)
where value in (select value as test from tab
group by value
having count(name)>1)
p_oum
Messages postés
964
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
87
27 nov. 2009 à 09:41
27 nov. 2009 à 09:41
Bonjour,
SELECT name FROM nomTable WHERE value='1'
SELECT name FROM nomTable WHERE value='1'
non, ça ne marche pas étant donné que je ne connais pas la valeur des 'values' et qu'il y aura certainement plusieurs avec la même valeur.
mais merci de ta réponse
mais merci de ta réponse
p_oum
Messages postés
964
Date d'inscription
mardi 6 mai 2008
Statut
Membre
Dernière intervention
2 avril 2012
87
27 nov. 2009 à 09:52
27 nov. 2009 à 09:52
Que veux-tu exactement ?
car tu as écris
J'aimerais connaître le moyen de récupérer uniquement les valeurs du champ "NOM" pour la première et la troisième (car value est égal à 1).
Moi je comprend que tu veux récupérer tous les chaps name lorsque values est égale à 1 ce que fait la requete que je t'ai donner
car tu as écris
J'aimerais connaître le moyen de récupérer uniquement les valeurs du champ "NOM" pour la première et la troisième (car value est égal à 1).
Moi je comprend que tu veux récupérer tous les chaps name lorsque values est égale à 1 ce que fait la requete que je t'ai donner
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai aussi écris ça :
Je veux récupérer la valeur de name à chaque fois que l'un des champs à la valeur 'value' au moins égale à une autre.
Exemple :
2 champs avec value = 4 => on récupère
16 champs avec value = 1 => on récupère
5 champs avec value = 2 => on récupère
1 champ avec value = 9 => on ne récupère pas
j'aimerais connaître le moyen de faire un SQL Select uniquement sur les entrées où le champ "value" est égal à un autre au moins deux fois.
Je veux récupérer la valeur de name à chaque fois que l'un des champs à la valeur 'value' au moins égale à une autre.
Exemple :
2 champs avec value = 4 => on récupère
16 champs avec value = 1 => on récupère
5 champs avec value = 2 => on récupère
1 champ avec value = 9 => on ne récupère pas
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
27 nov. 2009 à 11:22
27 nov. 2009 à 11:22
Hello
select name, value
from Table where value in
(select value, count(1)
from Table
group by value
having count(1) > 1)
Ca devrait le faire...
select name, value
from Table where value in
(select value, count(1)
from Table
group by value
having count(1) > 1)
Ca devrait le faire...
Effectivement ça marche.
Merci, mais cela n'en sélectionne qu'un.
J'aimerais savoir comment tous les sélectionner (sans passer par une boucle while).
Merci encore,
Merci, mais cela n'en sélectionne qu'un.
J'aimerais savoir comment tous les sélectionner (sans passer par une boucle while).
Merci encore,
BadBoy3
Messages postés
108
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
7 janvier 2011
15
27 nov. 2009 à 15:44
27 nov. 2009 à 15:44
jé pas bien compri
plus de détaille svp
plus de détaille svp
Et bien là, la requête sélectionne juste le premier champ.
J'aimerais qu'il sélectionne tous les champs sans faire de boucle.
exemple A et E ont pour valeur de value 1
sélectionne name de A et name de E dans un array.
J'aimerais qu'il sélectionne tous les champs sans faire de boucle.
exemple A et E ont pour valeur de value 1
sélectionne name de A et name de E dans un array.
BadBoy3
Messages postés
108
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
7 janvier 2011
15
27 nov. 2009 à 16:43
27 nov. 2009 à 16:43
je te jure que jé rien compri
je ve t'aidé mais vous êtes pas assé claire
veuillez donner l'example par la table que tu as spécifié avec les resultats que tu veu qu'ils s'affiche a la fin
je ve t'aidé mais vous êtes pas assé claire
veuillez donner l'example par la table que tu as spécifié avec les resultats que tu veu qu'ils s'affiche a la fin
6. BadBoy3, le 27 nov 2009 à 12:39:11
Select * from tab
where value in (select value as test from tab
group by value
having count(name)>1)
7. mathieu, le 27 nov 2009 à 13:37:52
Effectivement ça marche.
Merci, mais cela n'en sélectionne qu'un.
J'aimerais savoir comment tous les sélectionner (sans passer par une boucle while).
La solution donnée par BadBoy est la bonne (excepté le as test qui ne sert à rien)
Comment peux-tu dire que ça n'en sélectionne qu'un ? Quel est donc ton système ?
sur
Select * from tab
where value in (select value as test from tab
group by value
having count(name)>1)
7. mathieu, le 27 nov 2009 à 13:37:52
Effectivement ça marche.
Merci, mais cela n'en sélectionne qu'un.
J'aimerais savoir comment tous les sélectionner (sans passer par une boucle while).
La solution donnée par BadBoy est la bonne (excepté le as test qui ne sert à rien)
Comment peux-tu dire que ça n'en sélectionne qu'un ? Quel est donc ton système ?
sur
+----+-----+ !Name! val ! +----+-----+ ! A ! 1 ! ! B ! 2 ! ! C ! 1 ! ! D ! 2 ! ! E ! 3 ! +----+-----+Lorsque j'exécute la requête de BadBoy, j'ai bien A, B, C & D selectionnés et pas E !