Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2119 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Conditions multiples ( double WHERE...)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conditions multiples ( double WHERE...)

n°1488101
boobaka
Posté le 07-12-2006 à 16:22:06  profilanswer
 

Bonjour à tous,
après avoir passer 3 jours à developper une petite appli sous php/MySQL, je bloque face a un soucis assez bete il me semble....
J'ai besoin d'afficher dans un tableau (ca pas de soucis) le resultat dune requete qui devra tester 2 champ...Un devra contenir une suite (passer en variable ---> ca ca passe) ET un autre champ devra etre vide...
Comment tester un chmap vide?
J'ai tester les  
 

Code :
  1. sql="SELECT cle, cod, longueur, skid, qte, of  FROM stock WHERE cod LIKE '%1015%' AND of = NULL ";


Code :
  1. $sql="SELECT cle, cod, longueur, skid, qte, of  FROM stock WHERE cod LIKE '%1015%'AND of = 0 ";


Code :
  1. $sql="SELECT cle, cod, longueur, skid, qte, of  FROM stock WHERE cod LIKE '%1015%'AND of LIKE NULL ";


Code :
  1. $sql="SELECT cle, cod, longueur, skid, qte, of  FROM stock WHERE cod LIKE '%1015%'AND of LIKE 0 ";


Le tout avec et sans ' ....La premiere partie de ma requete fonctionne mais la seconde partie me fausse mon resultat ( soit affichage complet donc sans se soucier de la 2nd condition, soit aucun resultat..)
 
Par avance merci a qui pourra me venir en aide.
++

mood
Publicité
Posté le 07-12-2006 à 16:22:06  profilanswer
 

n°1488114
boobaka
Posté le 07-12-2006 à 16:33:07  profilanswer
 

$sql="SELECT cle, cod, longueur, skid, qte, of  FROM stock WHERE cod LIKE '%1015%'AND of is NULL ";
ne passe pas non plus...Quelle valeur a donc ce champ vide...
 
++

n°1488118
dwogsi
Défaillance cérébrale...
Posté le 07-12-2006 à 16:36:24  profilanswer
 

et of = '' ca donne quoi?

n°1488157
MagicBuzz
Posté le 07-12-2006 à 17:16:32  profilanswer
 

dwogsi a écrit :

et of = '' ca donne quoi?


ça dépend du type du champ, et de la gestion de la chaine vide : si "ANSI NULL" est activé, alors "" = null mais si on bosse avec la norme SQL92, '' != null
 
 
le plus simple étant :
 
where nvl(champ, '') = ''
 
comme ça, que ce soit '' ou null, et que ANSI NULL soit activé ou non, ça marche tout le temps :sol:


Message édité par MagicBuzz le 07-12-2006 à 17:17:16
n°1488168
boobaka
Posté le 07-12-2006 à 17:26:26  profilanswer
 

Yep, sympa pour l'aide....
Dans mes tests j'avais en plsu mi la valeur du champ of en NON NULL donc c'etait chaud....
Je l'ai donc passé en NULL par defaut et ca passe avec of =''
 
Merci beaucoup, mon cerveau est en bouilli a force de triturer ce code


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Conditions multiples ( double WHERE...)

 

Sujets relatifs
liste double chainee et paquetage generique[PHP] Traitement liste choix multiples
double requete en une seule ?[DOS] Variables et conditions IF pour commande GREP
lecture fichier binaire de double[MySQL] where not in ?
Ecrire un double dans un fichierclause WHERE sans nommer le champ
[MySql) Faire un where sur un champs liste de valeurs[SQL] insert avec conditions
Plus de sujets relatifs à : Conditions multiples ( double WHERE...)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR