Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Toad
Toad Forum d'entraide sur Oracle Toad
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 11/01/2012, 11h14   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 29
Points : 10
Points : 10
Par défaut Récupérer sous-requête dans une variable

bonjour a tous et bonne année !!

j'expose mon souci,

je fais une requete assez importante avec des requetes en tant que colonne ..

ex :

Code :
1
2
3
4
5
6
7
8
9
10
11
SELECT
colonne1,
colonne2,
(SELECT colonne3 - Colonne4 AS NbreJour FROM table2 WHERE table1.colonne1 = table2.colonne1) ,
case
when NbreJour =0
then ....
else ....
end
FROM table1
WHERE toto ..

mon probleme vient de mon AS, il ne fonctionne pas !! et je vais pas reintegrer la requete complete dans mon case ....


c'est une requete qui sera integre a un package et j'ai pense a faire un DEFINE avant.... mais je n'y arrive pas ...

merci de votre aide
rocaldo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 11h49   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
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 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Pourquoi une sous-requête dans le select ? Pourquoi pas une jointure ?
Code :
1
2
3
4
5
6
7
8
9
10
11
SELECT t1.colonne1
     , t1.colonne2
     , case xx.colonne3 - xx.colonne4
         when 0
         then ....
         else ....
       end AS calc
  FROM table1 t1
       INNER JOIN table2 t2
         ON t2.colonne1 = t1.colonne1
 WHERE t1.toto...
__________________
Email : http://scr.im/waldar
Waldar est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 11h54   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 29
Points : 10
Points : 10
oui j'aurais du preciser, la requete est bien plus complexe et recuperer bcp plus de colonne, le fait de le mettre en jointure fait que je ne recupere plus toutes les infos pour les autres colonnes vu que les restrictions se feront pour toute la requete
rocaldo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 15h23   #4
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 29
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 29
Points : 10
Points : 10
bon j'ai trouve ma solution ... en faite, j'ai fait un WITH ... pour monter ma requete en vue (j'aurais pu faire en table derivee ... ) et je mets les jointures en condition externe.

merci pour votre aide
rocaldo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h48.


 
 
 
 
Partenaires

Hébergement Web