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 :

UNION de deux scripts [10gR2]


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 40
    Points : 29
    Points
    29
    Par défaut UNION de deux scripts
    Bonjour,
    Je souhaite combiner dans les résultats de 2 scripts avec UNION, mais le problème : le 1er Script il y a 4 tables (TTR, MD, REAL, PAYER) tandis que sur le 2e Script il y a que 3 table (TTR,MD,REAL), avez vous une solution,
    voici le 1er Script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    SELECT TTR.OAS
      || ' '
      || '('
      || REAL.INTIT
      || ')' AS SERVICE,
      TTR.NUM_INFO REFERENCE_TTR_DE_PAI,
      MD.LIB OBJET,
      TRUNC(MD.DATE_VISA) AS DATE_DE_VISA,
      TRUNC(PAYER.APAY_DATE)      AS DATE_DE_REGLEMENT
    FROM MD
    LEFT JOIN TTR
    ON MD.NUM_INFO = TTR.NUM_INFO
    INNER JOIN REAL
    ON REAL.OAS         = TTR.OAS
    AND REAL.IND = TTR.IND
    AND REAL.ACT   = TTR.ACT
    AND REAL.COMM    = TTR.COMM
    INNER JOIN PAYER
    ON TTR.NUM_INFO          = PAYER.APAY_MD
    WHERE (PAYER.APAY_DATE <= :p_date_fin
    OR PAYER.APAY_DATE     IS NULL)
    AND MD.DATE_VISA BETWEEN :p_date_debut AND :p_date_fin
    AND MD.MODE_PAIE = '00'
    GROUP BY TTR.OAS
      || ' '
      || '('
      || REAL.INTIT
      || ')',
      TTR.NUM_INFO,
      MD.LIB,
      TRUNC(MD.DATE_VISA),
      TRUNC(PAYER.APAY_DATE)
    voici le 2e Script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    SELECT TTR.OAS
      || ' '
      || '('
      || REAL.INTIT
      || ')' AS SERVICE,
      TTR.NUM_INFO AS REFERENCE_TTR_DE_PAI,
      MD.LIB AS OBJET,
      MD.DATE_VISA AS DATE_DE_VISA
    FROM MD
    LEFT JOIN TTR
    ON MD.NUM_INFO = TTR.NUM_INFO
    INNER JOIN REAL
    ON REAL.OAS         = TTR.OAS
    AND REAL.IND = TTR.IND
    AND REAL.ACT   = TTR.ACT
    AND REAL.COMM    = TTR.COMM
     
    WHERE MD.MODE_PAIE = 'OO'
    AND MD.DATE_VISA BETWEEN :p_date_debut AND :p_date_fin
    GROUP BY TTR.OAS
      || ' '
      || '('
      || REAL.INTIT
      || ')',
      TTR.NUM_INFO,
      MD.LIB,
      MD.DATE_VISA,
      MD.MODE_PAIE
    ORDER BY SERVICE,
      DATE_DE_VISA

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Dans une UNION ce n'est pas le nombre de tables qui compte mais le nombre de colonnes.
    J'en compte 5 dans la première requête et seulement 4 dans la deuxième.
    Si l'information correspondante ou équivalente n'est pas disponible, on peut la remplacer par une constante.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    oui, dans la première requête il y a
    TRUNC(PAYER.APAY_DATE) AS DATE_DE_REGLEMENT basée sur la table PAYER, tandis que dans la 2eme je n'utilise pas la TABLE PAYER, mais l'enregistreement dans DATE_DE_REGLEMENT on peut laisser vide sur la 2e requete
    mais je n'arrive pas comment le faire
    Merci

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Exemple d'ajout d'une constante dans les colonnes retournées par une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT  colonne
        ,   'constante'
    FROM    matable
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    Pourriez-vous modifier le 2e requête car je ne saisi pas en ajoutant la colonne DATE_DE_REGLEMENT qui sera vide

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    merci problème RESOLU
    TO_DATE (NULL, 'dd/mm/yyyy') AS DATE_DE_REGLEMENT

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/03/2006, 12h53
  2. Envoyer des infos vers deux scripts
    Par Samrock dans le forum Langage
    Réponses: 6
    Dernier message: 31/01/2006, 19h05
  3. Problème de compatibilité entre deux scripts
    Par frutix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/01/2006, 14h24
  4. UNION de deux SELECT avec nombre d'arguments différents
    Par orus8 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/07/2004, 14h32
  5. [Débutant] Union de deux tables
    Par nyarla01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/03/2004, 10h40

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