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 :

requette UNION SQL


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Par défaut requette UNION SQL
    Bonjour

    en essayant d'executer la requette ci-dessous sous oracle :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select typ,seuil_entete,seuil_sttn  from table_seuil
    UNION 
    SELECT max(date_maj)   from table_seuil where typ='MESURE'
    UNION 
    SELECT max(date_maj)   from  table_seuil where typ='SEUIL';
    j'ai l'erreur suivante :
    ORA-01789: query block has incorrect number of result columns
    je pense que l'union des trois requette n'est pas bien fais..pourriez vous m'orienter s'il veux plais.
    (sachant que chaque requuete a part donne le résultat souhaité.
    Merci

    Amicalement

  2. #2
    Invité
    Invité(e)
    Par défaut
    comment veux-tu assembler des requêtes qui n'ont pas la même forme ?
    En l'occurrence, la première renvoie trois champs et les suivantes un...

    Tu ne chercherais pas plutôt ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT typ,seuil_entete,seuil_sttn  ,
    (SELECT max(date_maj)   FROM table_seuil WHERE typ='MESURE') as max_a,
    ( SELECT max(date_maj)   FROM  table_seuil WHERE typ='SEUIL' ) as max_b,
    FROM table_seuil

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 154
    Par défaut
    Bonjour Jerome_Mtl,

    Et Bein c'est Parfait, merci beaucoupp Jerome , c'est bien ce je cherchais.


    Amicalement


  4. #4
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut Sami,

    Oui ça marche bien, mais avec 3 full table scan sur la table table_seuil.


    Essaie cette requête.

    Salim.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT typ, seuil_entete, seuil_sttn,
           MAX (CASE
                   WHEN typ = 'MESURE'
                      THEN date_maj
                END) OVER () max_a,
           MAX (CASE
                   WHEN typ = 'SEUIL'
                      THEN date_maj
                END) OVER () AS max_b
      FROM table_seuil

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

Discussions similaires

  1. Union sql ne fonctionne pas ?
    Par chapeau_melon dans le forum WinDev
    Réponses: 10
    Dernier message: 13/11/2007, 10h50
  2. problème avec UNION SQL
    Par greg1517 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/05/2007, 19h46
  3. soucis d'union (SQL)
    Par maysa dans le forum Langage SQL
    Réponses: 9
    Dernier message: 24/04/2007, 08h29
  4. [Union SQL Serveur 2005]
    Par tatemilio2 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/11/2006, 14h34
  5. Requette PL/SQL - Oracle 8i
    Par rjulie dans le forum PL/SQL
    Réponses: 14
    Dernier message: 17/10/2005, 12h40

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