inverse d'un WHERE

Eléphant du PHP | 231 Messages

23 mars 2006, 12:47

une requete avec des between :
SELECT if FROM planete WHERE coord_x BETWEEN 150 AND 450 AND coord_y BETWEEN 150 AND 450
je souhaite executer la meme sauf que le WHERE doit etre l'opposée
y'a t il une fonction pour faire le WHERE opposé ? :roll:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mars 2006, 13:49

Tout simplement :

Code : Tout sélectionner

SELECT if FROM planete WHERE coord_x NOT BETWEEN 150 AND 450 AND coord_y NOT BETWEEN 150 AND 450

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

23 mars 2006, 14:03

Tout simplement :

Code : Tout sélectionner

SELECT if FROM planete WHERE coord_x NOT BETWEEN 150 AND 450 AND coord_y NOT BETWEEN 150 AND 450
Non, la négation de A ET B est NON(A) OU NON(B) selon Morgan (algèbre de bool)

si
A = coord_x BETWEEN 150 AND 450
B= coord_y BETWEEN 150 AND 450

La négation est :
NON (A) = coord_x NOT BETWEEN 150 AND 450
NON (B) = coord_y NOT BETWEEN 150 AND 450

La négation de A ET B est donc :
NON(A) OU NON(B) = coord_x NOT BETWEEN 150 AND 450 OR coord_y NOT BETWEEN 150 AND 450

Il faut écrire alors :

Code : Tout sélectionner

SELECT if FROM planete WHERE coord_x NOT BETWEEN 150 AND 450 OR coord_y NOT BETWEEN 150 AND 450
ou bien tout simplement :

Code : Tout sélectionner

SELECT if FROM planete WHERE NOT (coord_x BETWEEN 150 AND 450 AND coord_y BETWEEN 150 AND 450)
de la forme : NON (A ET B)
Modifié en dernier par sadeq le 23 mars 2006, 14:06, modifié 1 fois.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mars 2006, 14:06

Oui si tu veux moi j'ai juste rajouté le NOT pour indiquer comment nier une condition, je me suis pas préoccupé de la cohérence du truc
Non, la négation de A ET B est NON(A) OU NON(B) selon Morgan (algèbre de bool)
Après c'est à lui de voir s'il veut suivre ton théorème ou simplement prendre les valeurs qui ne sont dans aucun des deux intervalles... :)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

23 mars 2006, 14:15

Mais ouckileou a raison dans le cas où ça correspondrait à ce que veut notre ami. A ce moment là ce n'est pas une négation.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mars 2006, 14:18

On aura au moins appris un truc ;)

http://fr.wikipedia.org/wiki/Alg%C3%A8b ... logique%29

C'est beauuu... Image

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

23 mars 2006, 14:25

Et ils sont où? et ils sont où? et ils sont où les boo-lé-en lalalala, lalalalalalaaaa :lol:

Pour le pauvre dark_vidor, qui pourrait être étranger à cette notion (à savoir, les booléens et leur logique) ton exemple cherche un point "à l'intersection de cette bande verticale et cette bande horizontale" (ce qui définit donc une zone rectangulaire), ouckileou a posté "pas sur cette bande verticale ni sur cette bande horizontale" (donc 2 zones rectangulaires superposées soit une zone en forme de croix, plus grande que l'originale) et sadeq a corrigé pour n'exclure que la zone de départ.

PS: moi aussi il a fallu que je relise deux fois et que je rebranche mon cerveau pour visualiser la différence entre NOT(a AND b) et (NOT a AND NOT b)

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

23 mars 2006, 14:26

PPS: c'est pas cool de poster pendant que j'écris mon message :cry:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mars 2006, 14:31

PPS: c'est pas cool de poster pendant que j'écris mon message :cry:
Bah faut pas écrire de messages si longs aussi tsss :roll:

Un lien, trois mots et deux smileys, c'est amplement suffisant :lol:

Mais bon ton message est mieux, les gens feront la différence ;)

Eléphant du PHP | 231 Messages

23 mars 2006, 14:33

vous battez pas un petit WHERE NOT(condiontion) resouds tout :lol:

merci :wink:

je connais de Morgan et l'algebre de bool :wink:

1+1 = 1
1.1 = 1 ...