Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Designer
Designer Forum d'entraide sur Oracle Designer
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/01/2011, 16h33   #1
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
Par défaut case when select

bonjour,

j'aimerai alimenter une colonne à l'aide de conditions, j'ai fait ceci mais ça semble être faux!

Code :
1
2
3
4
5
case
       when TYPE_ART='LIG' then CA/QTE;
       when TYPE_ART='LOT' AND MODE='V' then MONTANT;
       when TYPE_ART='LOT' AND MODE='P' then( MONTANT*(SELECT (CA_TTC+TYPE)/QTE WHERE TYPE='ri')/100)) 
 end case
Quelqu'un saurait me dire où ça ne va pas svp??
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 17h08   #2
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 483
Points : 1 483
Il me semble que la syntaxe CASE WHEN n'accepte pas de sous-requêtes en utilisant des SELECT, à vérifier ...
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 17h15   #3
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
ahh... je vais vérifier cela
merci
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 20h20   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Je ne vois pas pourquoi ça ne passerait pas, néanmoins il faut respecter deux conditions :
  1. Que la requête scalaire soit correcte (avec un FROM par exemple)
  2. Qu'elle ne retourne qu'un seul résultat
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 09h07   #5
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
j'ai ajouté le from, et en exécutant j'ai cette erreur au niveau de l'intégration:
Code :
com.sybase.jdbc2.jdbc.SybSQLException: ASA Error -131: Syntax error near '=' ON line 1
ça veut dire quoi svp? le "=" n'est pas bon? quelle est la syntaxe?
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 10h38   #6
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
j'ai un peu modifié mon code:

Code :
1
2
3
4
5
6
7
8
9
SELECT montant_
case when TYPE_ART='LIG' then CA_/QTE_    
       when TYPE_ART='LOT' AND MODE='V' then MONTANT     
       when TYPE_ART='LOT' AND MODE='P' then MONTANT*((( SELECT  (CA_TTC + ca_AVTG)/QTE AS mnt
 FROM prosp, avant WHERE avant.num=prosp.num
 AND prosp.num_mag=avant.num_mag AND avant.type_av='RI') 
end AS montant
 
 FROM avant,prosp
j'ai cette erreur:
Code :
Error: Syntax error near 'end' ON line 10 (State:37000, Native Code: FFFFFF7D)
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h23   #7
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Vous n'êtes pas rigoureux.
Fermer une parenthèse ouverte, c'est en général une bonne idée.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h12.


 
 
 
 
Partenaires

Hébergement Web