Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 27/01/2011, 17h28   #1
Nouveau Membre du Club
 
Avatar de logiciel_const
 
Inscription : octobre 2007
Messages : 167
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 167
Points : 31
Points : 31
Par défaut Une condition dans le where

Bonjour,
Est ce que c'est possible de faire une condition dans le where de telle sorte qu'on ajoute pas un "and............', si seulement une sous requete revoie au moins une ligne.
Exemple:
Code :
1
2
 
case (exist (SELECT count(*) FROM TVA WHERE TVA.isActive='Y') when o then TVA.ident=10003 END
une idée???
logiciel_const est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 18h41   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 437
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 437
Points : 4 173
Points : 4 173
J'ai pas réussi à le faire sans exécuter 2 fois la fonction... Il y a peut être un moyen, j'y réfléchis

En tout cas, ceci marche.
Code :
1
2
3
4
AND (
		( EXISTS (SELECT 1 FROM TVA WHERE TVA.isActive='Y') AND TVA.ident=10003)
	OR 	NOT EXISTS (SELECT 1 FROM TVA WHERE TVA.isActive='Y') 
  	)
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 18h47   #3
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
peut etre (si j'ai bien compris le problème !)
Code :
1
2
3
4
 
AND NOT EXISTS (
SELECT 1 FROM tva WHERE decode(isActive,'Y',decode(ident,10003,'N','Y'),'N')='Y'
)
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h33.


 
 
 
 
Partenaires

Hébergement Web