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

Oracle Discussion :

Requête à paramètres multiples


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut Requête à paramètres multiples
    Bonjour à tous,

    Je suis en face du problème suivant. J'aimerai créer une requête en oracle avec un paramètre qui peut prendre plusieurs valeurs. Mais seulement ma syntaxe est incorrecte.

    Il s'agit de rentrer plusieurs customer_group (par exemple : AUCHAN, BOULANGER) et de ressortir des informations liées aux quantity invoiced pour ces deux customers.

    La requête fonctionne bien sous SQL Server mais pas sous Oracle. Est-ce que quelqu'un pourrait m'aider ?!

    Ci-dessous, vous trouverez la requête sous SQL Server qui fonctionne suivie de la requête sous Oracle qui elle ne fonctionne pas avec plus de détails.

    -----------------------------------------------------------------------
    Voici ma requête sous SQL Server :
    SELECT
    F_INVOICE_VW_COHERENT.QUANTITY_INVOICED AS [Quantity Invoiced],
    D_TIME_VW.FULL_DATE AS Date,
    D_CUSTOMER_VW.CUSTOMER_GROUP AS Customer

    FROM
    F_INVOICE_VW_COHERENT INNER JOIN D_TIME_VW ON F_INVOICE_VW_COHERENT.DATE_KEY = D_TIME_VW.DATE_KEY INNER JOIN D_CUSTOMER_VW ON F_INVOICE_VW_COHERENT.CUSTOMER_KEY = D_CUSTOMER_VW.CUSTOMER_KEY

    WHERE
    (D_CUSTOMER_VW.CUSTOMER_GROUP IN (@Customer))
    AND
    (D_TIME_VW.FULL_DATE >= @StartDate)
    AND
    (D_TIME_VW.FULL_DATE < @EndDate + 1)

    Le @ signifie que c'est un paramètre entré ou selectionné par l'utilisateur. Pour la ligne rouge, l'utilisateur peut sélectionner dans une liste déroulante à check box, plusieurs Customers. Cette liste déroulante se base sur une requête écrite (select distinct CUSTOMER_GROUP from dbo.D_CUSTOMER_VW order by CUSTOMER_GROUP asc) mais elle se forme au niveau applicatif sous visual studio 2005.

    ------------------------------------------------------------

    Voici maintenant ma requête sous ORACLE :
    La deuxième requête est un test effectué en se concentrant sur la partie customer seulement (deux customers group sont par exemple AUCHAN, BOULANGER).
    Un choix multiple est également donné aux utilsateurs par le biais d'une liste déroulante à CheckBox (applicatif) basée sur une requête :

    -- REQUETE COMPLETE // BUG SUR LA CLAUSE WHERE LIEE AUX CUSTOMERS
    SELECT
    D_TIME_VWO.FULL_DATE,
    D_CUSTOMER_VWO.CUSTOMER_GROUP,
    F_INVOICE_VWO.QUANTITY_INVOICED

    FROM
    F_INVOICE_VWO,
    D_CUSTOMER_VWO,
    D_TIME_VWO

    WHERE
    F_INVOICE_VWO.CUSTOMER_KEY = D_CUSTOMER_VWO.CUSTOMER_KEY
    AND
    F_INVOICE_VWO.DATE_KEY = D_TIME_VWO.DATE_KEY
    AND
    (D_TIME_VWO.FULL_DATE >= TO_DATE(TO_CHAR(:startdate, 'YYYY-DD-MM'), 'YYYY-DD-MM'))
    AND
    (D_TIME_VWO.FULL_DATE < TO_DATE(TO_CHAR(:enddate, 'YYYY-DD-MM'), 'YYYY-DD-MM') + 1)
    AND
    D_CUSTOMER_VWO.CUSTOMER_GROUP IN
    (
    SELECT DISTINCT CUSTOMER_GROUP
    FROM D_CUSTOMER_VWO
    WHERE (CUSTOMER_GROUP = :Customers)
    )

    ORDER BY
    D_TIME_VWO.FULL_DATE,
    D_CUSTOMER_VWO.CUSTOMER_GROUP

    -- REQUETE TEST AVEC SEULEMENT LES CUSTOMERS

    SELECT
    DISTINCT CUSTOMER_GROUP
    FROM
    D_CUSTOMER_VWO
    WHERE
    CUSTOMER_GROUP IN (
    SELECT DISTINCT CUSTOMER_GROUP
    FROM D_CUSTOMER_VWO
    WHERE CUSTOMER_GROUP = (:Customers))


  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    qu'est ce qui ne va pas avec cette requête ?

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut
    je n'obtiens aucun résultat et aucun message d'erreur.

  4. #4
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Avec quel outil l'exécutes-tu ?

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    D_CUSTOMER_VWO est dans le FROM et dans la sous-requêtes... un des deux est probablement en trop

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 16
    Par défaut
    Je l'exécute avec TOAD

Discussions similaires

  1. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50
  2. Requête paramétrée
    Par lou.souleu dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2005, 05h36
  3. [VB.NET] [ADO.NET] Requête paramétrée
    Par DotNET74 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/03/2005, 08h39
  4. Requête paramétrée qui remplit une DBLookUpComboBox
    Par navis84 dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/12/2004, 21h23
  5. VBA & Requête paramétrée
    Par gripoil dans le forum Access
    Réponses: 4
    Dernier message: 25/11/2004, 09h54

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