Sous requete [MySQL] - SQL/NoSQL - Programmation
Marsh Posté le 18-05-2010 à 10:32:49
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
Sinon, 60K enregistrements, c'est peu ; je ne fais pas de concours de grosse BITE, mais un simple constat.
Marsh Posté le 18-05-2010 à 11:35:23
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 ?)
Marsh Posté le 18-05-2010 à 12:00:52
Non, rien de particulier, la seule particularité c'est la clause HAVING qui permet d'isoler une condition sur le résultat du count.
Marsh Posté le 18-05-2010 à 18:11:39
ok, merci à toi, merci la communauté
Marsh Posté le 18-05-2010 à 09:09:24
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