[résolu] [mysql] Conditions WHERE avec AND et OR


OTP
Modérateur
Modérateur
 
Messages: 19531
Inscription: 16 Déc 2005

[résolu] [mysql] Conditions WHERE avec AND et OR

Message le Ven Mai 13, 2011 20:00

Bonsoir,

J'essaie d'extraire d'une table mysql des enregistrements pour 2 continents :

Code: Tout sélectionner
$query="SELECT COUNT(DISTINCT nom) FROM windfarms, countries WHERE windfarms.dept!='#ND' AND windfarms.etat!='appr' AND windfarms.etat!='plan' AND windfarms.ISO_code = countries.code_ISO AND (countries.continent_fr = 'Amérique de Nord' OR countries.continent_fr = 'Amérique de Sud)'"

Ca ne marche pas, sans doute les paranthèses.
Je pense que ce n'est pas compliqué, mais je ne sais pas faire...

Merci d'avance,

OTP


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: [mysql] Conditions WHERE avec AND et OR

Message le Ven Mai 13, 2011 20:43

Effectivement, pas compliqué :
Code: Tout sélectionner
'Amérique de Sud)'

Inverse la parenthèse et la quote ;)


Sinon, utiliser les jointures sera plus performant :
Code: Tout sélectionner

$query
="
SELECT COUNT(DISTINCT nom)
FROM windfarms
JOIN countries ON windfarms.ISO_code = countries.code_ISO
WHERE windfarms.dept!='#ND'
    AND windfarms.etat!='appr'
    AND windfarms.etat!='plan'
    AND (countries.continent_fr = 'Amérique de Nord' OR countries.continent_fr = 'Amérique de Sud')
"
;
 


Avec un index sur windfarms.ISO_code et countries.code_ISO.


OTP
Modérateur
Modérateur
 
Messages: 19531
Inscription: 16 Déc 2005

Re: [mysql] Conditions WHERE avec AND et OR

Message le Ven Mai 13, 2011 20:49

Merci.
Je suis un boulet...
C'était ça et "Amérique de Sud/Nord au lieu de "Amérique du Sud/Nord"...


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3835
Inscription: 14 Sep 2006

Re: [résolu] [mysql] Conditions WHERE avec AND et OR

Message le Ven Mai 13, 2011 21:56

c'est comme ça qu'on taime =D


OTP
Modérateur
Modérateur
 
Messages: 19531
Inscription: 16 Déc 2005

Re: [résolu] [mysql] Conditions WHERE avec AND et OR

Message le Ven Mai 13, 2011 21:57

:mrgreen:

Toujours eu du mal avec mysql...
Je ne suis qu'un mécanicien, après tout...


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3835
Inscription: 14 Sep 2006

Re: [résolu] [mysql] Conditions WHERE avec AND et OR

Message le Ven Mai 13, 2011 22:18

t'as un métier toi déjà, estime toi heureux =D Pense un peu aux étudiants ! :lol:


OTP
Modérateur
Modérateur
 
Messages: 19531
Inscription: 16 Déc 2005

Re: [résolu] [mysql] Conditions WHERE avec AND et OR

Message le Sam Mai 14, 2011 6:30

Eux au moins peuvent apprendre ce que j'ignore (coder une requête par exemple ! ;) )


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité