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

OTP

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
 

Blount

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.
 

OTP

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"...
 

OTP

WRInaute accro
:mrgreen:

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

OTP

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

Discussions similaires

Haut