IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Transmettre un champs d'une requete dans une sous-requete


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Par défaut Transmettre un champs d'une requete dans une sous-requete
    Bonjour,

    Je cherche actuellement à transmettre un champs de ma requête principale dans ma sous requête. Ou si ce n'est possible, je suis preneur d'idée alternative
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT DISTINCT
           v.id_account as code_account,
           v.descr AS nom, ...
           ,
           (SELECT A
              FROM (SELECT DATE_END A,
                           row_number() OVER (ORDER BY DATE_END DESC) AS r
                      FROM ACTIVITY_VS
                     WHERE ID_ENTITY = v.id_account -- ici 
                       AND TYPE_ACT = 'VISIT'
                       AND STATUS_ENTITY = 'F')
             WHERE r = 1) as date_derniere_visite
      FROM ACCOUNT_VS v, ...
    WHERE ...
    La requête s'exécute depuis une page jsp, et j'utilise la version 9 d'Oracle.

    Merci d'avance à ceux qui prendront le temps de me lire

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    On ne peut référencer dans une sous-requête qu'un seul niveau d'imbrication sous Oracle.
    De manière générale, les requêtes scalaires (sous-requête au niveau du select) sont très rarement efficaces, qu'essayez-vous de faire ?

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Il veut la date de la dernière visite, il y en a plusieurs...
    Agrégez avec Group by et Min avec keep (dense rank last …) par exemple.

  4. #4
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Par défaut
    Merci de votre réponse, je n'ai pas de grosse connaissance en SQL et encore moins en Oracle.
    Je ne connais pas la fonction Keep et j'ai du mal à trouver des infos dessus.
    Savez-vous où puis-je en trouver ?

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    En fait la fonction c'est FIRST / LAST, c'est documenté sur le site d'Oracle :
    http://download.oracle.com/docs/cd/E...htm#SQLRF00641

    N'hésitez pas à préciser votre besoin avec un jeu d'essai si vous n'y arrivez pas !

  6. #6
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Par défaut
    Bonjour,

    J'ai réglé mon problème différemment, en passant par un max, une jointure externe et un group by.

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo