|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Sarah Développeur Web Inscription : novembre 2011 Messages : 3 ![]() |
Bonjour à tous,
Je dois créer un module de recherche à partir d'une BDD SQL. Voici mes tables: poste(NumPays_p, intitule, etc) stages(NumPays_s, titre, etc) apprentissage(NumPays_a, titre, etc) pays(NumPays, Pays) J'ai beaucoup de pays dans la table pays qui n'ont actuellement aucun poste ou stage ou apprentissage correspondant. Je voudrais sortir la liste distincte des pays qui ont au moins un poste ou un apprentissage ou un stage. J'ai essayé plusieurs requêtes mais soit elles sortent un résultat incohérent soit elles sont syntaxiquement erronées. Merci beaucoup pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Bonjour,
Il faudrait que tu nous précise ton SGBD et que tu nous mettes les requêtes que tu as déjà construites (même si elles sont fausses)
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#3 | |||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Citation:
Code :
|
|||
|
|
10
|
|
|
#4 | |||
|
Invité de passage
![]() Sarah Développeur Web Inscription : novembre 2011 Messages : 3 ![]() |
Citation:
Effectivement ce code fonctionne sur ma base de tests en local (PhpMyAdmin 3.4.3.2 et MySQL 5.5.15). Par contre impossible de le faire s'exécuter sur la base de production sur serveur (PhpMyAdmin 2.5.4 et MySQL 4.0.18). Systématiquement il me dit que la syntaxe est incorrecte et si je le fais exécuter dans un script PHP j'ai la chose suivante: "supplied argument is not a valid MySQL result resource". |
|||
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Le [NOT] EXIST n'est pas supporté par MySQL (cf. tuto bien pratique).
Normalement cette requête devrait renvoyer le bon résultat : Code :
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
||
|
|
10
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
c'est pas mieux avec un in ?
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Ben selon le même tuto le IN "existe mais syntaxe hors norme".
Or je suis bête et disciplinée et j'essaye de trouver une autre solution.
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
00
|
|
|
#8 | |||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Citation:
Du coup tu en sais plus pour le IN ??
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
|
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Pour le IN il faut aussi faire une UNION mais on attaque 1 seule fois la table pays et on peut faire du UNION ALL, c'est donc probablement plus performant :
Code :
|
||
|
|
10
|
|
|
#11 | ||||||
|
Invité de passage
![]() Sarah Développeur Web Inscription : novembre 2011 Messages : 3 ![]() |
Effectivement cette solution doit fonctionner à partir de MySQL 5 car elle me donne le bon résultat en local mais une erreur sur le serveur:
Citation:
Citation:
A bientôt! |
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com