|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Inscription : janvier 2011 Messages : 15 ![]() |
Bonjour à tous,
Je cherche à faire une requete dont le résultat est la réponse à la question : Existe il un matériel qui possède pour famille 1 la sous-famille 3, ET qui possède pour famille 2 la sous-famille 2, ET pour la famille 3 la sous-famille 2... pour mieux comprendre j'explique : Un matériel possède un type de matériel, pouvant être clavier par exemple. Ce matériel possède une ou plusieurs familles, donc connectique, langue...etc Chaque famille possède plusieurs sous-familles, donc connectique possède usb, ps2.., langue possède francais, russe... Un matériel ne peut posséder qu'une sous-famille par famille. Donc en plus clair, je voudrai savoir si un matériel ayant comme type de matériel clavier, possédant pour la famille connectique la sous-famille usb, ET possédant pour la famille langue la sous-famille francais...etc..existe ou pas. Merci de pouvoir m'éclairer je bloque dessus depuis 8h30 ce matin.. mes derniers essais on été effectué avec union et intersect, où intersect semble mieux approprié. Avec la requête suivante donc je pensais cela fonctionnel, mais pas du tout car mysql me renvoi une erreur.. Code :
L'erreur est Code :
Code :
ps : j'ai bien chercher sur les différentes discussions de ce forum, mais sans trouver de réponse sur des "restriction liées" entre elles.. Nec27 |
||||||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Pourquoi pas une simple auto-jointure ?
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
10
|
|
|
#3 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
En fait, MySQL n'accepte ni INTERSECT ni EXCEPT/MINUS. Il est donc nécessaire de passer par des jointures, comme proposé par Phil.
|
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : janvier 2011 Messages : 15 ![]() |
Que dire...
Je me sens vraiment bête par une telle simplicité... Cela fonctionne parfaitement, rien à dire, respect, merci beaucoup. [EDIT] Oui j'avais bien remarqué mais sachant que union fonctionne sous mysql, et que je trouvais intersect dans les même docs que union, pendant mes recherches, je pensais que la seule fois où j'ai trouvé que intersect avec mysql posait problème été faux. Donc je suis resté sur cette idée puisque c'était celle qui été la plus approchante, selon moi, à ce que je recherchai. Mais il est clair que de toutes manières la méthode des jointures simples, il faut le dire, est vraiment simple....je suis un peu dégouté d'avoir passé 5h sur une réponse qui au final est si simple... Mais bon grâce à ce forum, je peux enfin avancer..merci beaucoup. Et très bonne journée à vous, sincèrement. Nec27 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com