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 :

CASE + SELECT


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Par défaut CASE + SELECT
    Bonjour à tous,

    j'ai 2 tables (nommées : table1 et table2) avec une structure identique. Et en fonction d'une valeur d'un champ d'une 3ième table (table3), j'aimerai pouvoir effectuer un select sur l'une ou l'autre des 2 tables indentiques. J'aurais besoin de votre aide. A titre d'info, voici l'extrait du code :

    SELECT
    table3.origine
    case
    when 'A' then 'H'
    (select
    table1.dptyp,
    table1.dpnum
    from table1)
    when 'M' then 'B'
    (select
    table2.dptyp,
    table2.dpnum
    from table2)
    else 'rien'
    end
    FROM table3
    Cette requête me donne systématiquement : "ORA-00923: FROM keyword not found where expected"
    Cette requête est-elle utilisable ? si ce n'est pas le cas, un coup de main serait le bienvenu.
    Merci

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    ce n'est pas vraiement comme celà que s'utilise case...

    Une solution en utilisant union:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select t.* from (
        select 'A' tag,t1.* from t1
        union all
        select 'B' tag,t2.* from t2
    ) t join t3 on t3.tag=t.tag
    Cordialement,
    Franck.

  3. #3
    Scorpi0
    Invité(e)
    Par défaut
    Bonjour,

    Ce que pachot à soulevé sans le dire, c'est qu'il nous manque surtout une clause de jointure entre T3 et T1,T2.

    Un exemple de données avec le résultat escompté aiderait tout le monde.

  4. #4
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Par défaut
    Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/11/2014, 10h24
  2. Problème SELECT, CASE et Group by
    Par Royd938 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/10/2014, 07h41
  3. suppremer une case selectioné
    Par cherif09 dans le forum Flash
    Réponses: 1
    Dernier message: 17/04/2007, 13h05
  4. [select dans case] reconnaitre un champ d une table liée
    Par the_edge dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 22/10/2004, 16h47
  5. vérification de passage dans un select case
    Par arsgunner dans le forum ASP
    Réponses: 5
    Dernier message: 14/06/2004, 10h05

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