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

WRInaute accro
Bonsoir,

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

Code:
$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
 
WRInaute impliqué
Re: [mysql] Conditions WHERE avec AND et OR

Effectivement, pas compliqué :
Code:
'Amérique de Sud)'
Inverse la parenthèse et la quote ;)


Sinon, utiliser les jointures sera plus performant :
PHP:
<span class="syntaxdefault"><br />$query</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"<br />SELECT&nbsp;COUNT(DISTINCT&nbsp;nom)<br />FROM&nbsp;windfarms<br />JOIN&nbsp;countries&nbsp;ON&nbsp;windfarms.ISO_code&nbsp;=&nbsp;countries.code_ISO<br />WHERE&nbsp;windfarms.dept!='#ND'<br />&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;windfarms.etat!='appr'<br />&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;windfarms.etat!='plan'<br />&nbsp;&nbsp;&nbsp;&nbsp;AND&nbsp;(countries.continent_fr&nbsp;=&nbsp;'Amérique&nbsp;de&nbsp;Nord'&nbsp;OR&nbsp;countries.continent_fr&nbsp;=&nbsp;'Amérique&nbsp;de&nbsp;Sud')<br />"</span><span class="syntaxkeyword">;<br />&nbsp;</span><span class="syntaxdefault"></span>

Avec un index sur windfarms.ISO_code et countries.code_ISO.
 
WRInaute accro
Re: [mysql] Conditions WHERE avec AND et OR

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

Toujours eu du mal avec mysql...
Je ne suis qu'un mécanicien, après tout...
 
WRInaute accro
Eux au moins peuvent apprendre ce que j'ignore (coder une requête par exemple ! ;) )
 
Discussions similaires
Haut