Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1567 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Sous requete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Sous requete

n°1993936
ThiMacGuy
Hazard is the Wizard of Life
Posté le 18-05-2010 à 09:09:24  profilanswer
 

Bonjour

 

Je cherche à faire une requete d'apres les résultats d'une  (ou plusieurs) autres requetes.
A priori, une sous requete donc.

 

voici ma table :

 

id_attribute  id_product_attribute
29  49676
 73  49676
 21  49676
 86  49676

 30  49675
 73  49675
 21  49675
 86  49675
 28  49674
 73  49674
 21  49674
 86  49674
 29  49673
 72  49673
 21  49673
 86  49673
 30  49672

 

72  49672
 21  49672
...
il y a beaucoup d'enregistrements (+60000)

 

je souhaite une requete permettant de trouver un id_product_attribute, sachant que chaque id_product_attribute correspond a une combinaison de id_attribut
Par exemple, si mes parametre sont id_attribute = 29,73,21,86, je souhaite trouver 49676

 

Quelqu'un pourrait m'aider à écrire une telle requete ?

 

Merci à tous


Message édité par ThiMacGuy le 18-05-2010 à 09:21:19
mood
Publicité
Posté le 18-05-2010 à 09:09:24  profilanswer
 

n°1993974
Fred999
Rabat-joie
Posté le 18-05-2010 à 10:32:49  profilanswer
 

Salut,
 
select id_product_attribute, count(id_attribute)
from latable
where id_attribute in (la liste des id_attribute)
group by id_product_attribute
having count(id_attribute) = le nombre d'id_attribute voulus
 
Fais bien gaffe à ce que la liste des id_attribute en entrée soit renseignée correctement, sinon ça peut faire mal :o
 
Sinon, 60K enregistrements, c'est peu ; je ne fais pas de concours de grosse BITE, mais un simple constat.

n°1994010
ThiMacGuy
Hazard is the Wizard of Life
Posté le 18-05-2010 à 11:35:23  profilanswer
 

yes ! j'a trouvé ma réponse ! dans mon cas c'est :  
 
SELECT id_product_attribute
FROM la_table
WHERE id_attribute IN (21, 29, 73, 86)
GROUP BY id_product_attribute
HAVING COUNT(*) = 4
la liste des attributs est renseigné par une moulinette, qui ne pose pas de probleme a priori. Donc ca roule;
Merci pour ton aide !
 
Comment appeles ton ce genre de requete ? est ce qu'elle est particuliere ? (comme on parle de jointure, ou de sous requete, est ce la un type particuier ?)


---------------
Ils sont parmis nous, soyez donc sur vos gardes, Peut-être à vos côté à l'instant nous regarde, Ils ont projeté de contaminer la planète, Ils sont cons et dangereux, ce sont les je veux être.
n°1994023
Fred999
Rabat-joie
Posté le 18-05-2010 à 12:00:52  profilanswer
 

Non, rien de particulier, la seule particularité c'est la clause HAVING qui permet d'isoler une condition sur le résultat du count.


Message édité par Fred999 le 18-05-2010 à 12:00:59
n°1994247
ThiMacGuy
Hazard is the Wizard of Life
Posté le 18-05-2010 à 18:11:39  profilanswer
 

ok, merci à toi, merci la communauté


---------------
Ils sont parmis nous, soyez donc sur vos gardes, Peut-être à vos côté à l'instant nous regarde, Ils ont projeté de contaminer la planète, Ils sont cons et dangereux, ce sont les je veux être.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Sous requete

 

Sujets relatifs
php/mysql résultat requête dans une seule variablerequete mysql order by sur 2 tables
Requete mysql qui s'execute avant l'execution de la pageRequete MySQL avec condition globale
Problème de requête Mysql :)Requête double en MySQL
Plantage lors de l'execution d'une requete [PHP/MySQL][MySQL] Taille des fichiers temporaires d'une requête
[RESOLU] Problème de requête et mysql_num_rows[MySQL] Requete avec JOIN : infos dans des bases différentes
Plus de sujets relatifs à : [MySQL] Sous requete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR