Vous n'êtes pas identifié(e).
Pages : 1
bonjour tout le monde
je veux créer une vue qui doit calculer la somme des valeurs d'une colonne si les conditions dans la clause WHERE sont bien remplis , j'ai procédé comme ça ;
create view mavue (col1,col2) as select col1,sum(col2) from matable where col 3 = {24 ou 28} or col4= "Z" or col5 =[1..8 ] or col6="Z" ;
il plante.
comme vous remarquez certaines colonnes doivent prendre leurs valeurs dans un ensemble dans la clause where ; c'est à dire je dois comparer mes colonnes de la clause where à cet intervalle là:
24Z01Z à 24Z08Z ou 28Z01Z à 28Z08Z
j'ai besoin d'aide svp
Hors ligne
Il ne plante pas. Mais il est clair que, si on utilise une syntaxe non reconnue, il va renvoyer un message d'erreur.
Essaie plutôt ça
create view mavue (col1,col2) as select col1,sum(col2) from matable where col 3 IN (24, 28) or col4= "Z" or col5 IN (1, 2, 3, 4, 5, 6, 7, 8) or col6="Z" ;
Par contre, je pense que tu veux des AND, et non pas des OR. Mais difficile à dire comme ça.
Dernière modification par gleu (10/12/2008 18:27:55)
Guillaume.
Hors ligne
vous êtes formidable , je voulais exactement le "and" au lieu de "or" , mais je m'etais unpeu mal exprimé ,d'ailleurs je réformule bien ainsi :
je fais une vue qui doit faire la somme des éléments d'une colonne "toto" en considerant "1" comme valeur de la colonne si ces conditions sont remplis au même moment : col1 IN (24,28) , col2 = "Z" , col3>=1 AND col5<=8 , col4 = 'Z' et considerer "toto" comme "0" au cas où une de ces conditions est fausse à fortiori toutes , cela pour toutes les lignes de ma table et me retourne "somme" , c'est à dire qu'il test toutes les lignes de ma table avant de rétourner somme .
merci beaucoup d'avance et remercie pour la première aide ;
Hors ligne
Pages : 1