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

Langage SQL Discussion :

Probleme avec l'instruction AS


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut Probleme avec l'instruction AS
    Bonjour

    Est il normal de perdre la clause AS lorsque j'utilise UNION ALL (plusieurs fois) dans une requête ?
    J'utilise MS Query sur une base de donnes MySQL...

    Merci pour vos precisions...

    Mario

    (je ne copie pas la requete en question car elle est trop grande au niveau de la taille)

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    et pourtant la requête aiderait bien...

    AS dans quel contexte ? renommage de colonne, alias de table ?

  3. #3
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut
    Je ne vais peut etre pas vous embeter avec ma requete de 4 pages mais en voici un bout pour vous faire comprendre mon souci :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    SELECT 
       DATEADD(month,2,tbl_ms_set_steps.MS_EXP_CLOSE_DATE), 
       tbl_ms_set_steps.active_inactive, 
       tbl_addreses.ADDR_COUNTRY_CODE AS 'country',  
       tbl_ms_set_steps.MS_RFI_EXT_DL AS 'ext Deadline',    
       tbl_ms_set_steps.MS_SUBJ_PROB_IRIS AS 'Probability', 
       tbl_MAIN.MAIN_AM AS 'AM', 
       tbl_MAIN.MAIN_NAME+' '+MS_CASE_NBR+' / '+MS_SR_IRIS+' / '+
       ms_description+' / Psr: '+ltrim(str(100*MS_SUBJ_PROB_IRIS))
       +'  / Piris: '+ltrim(str(100*MS_SUBJ_PROB_IRIS)) AS 'CASE', 
       50*tbl_ms_set_steps.MS_LICENCE/100 AS 'LIC-CHF', 
       50*tbl_ms_set_steps.MS_LICENCE*MS_SUBJ_PROB_IRIS/100 
       AS 'Pr-LIC-CHF', 
       50*tbl_ms_set_steps.MS_SERVICE/100 AS 'SRV-CHF', 
       50*tbl_ms_set_steps.MS_SERVICE*MS_SUBJ_PROB_IRIS/100 
       AS 'Pr-SRV-CHF', 
    '[...]'
    FROM
    '[Toutes les tables concernées]'
    WHERE 
    '[Qques conditions]'
    UNION ALL
    SELECT 
       DATEADD(month,3,tbl_ms_set_steps.MS_EXP_CLOSE_DATE), 
       tbl_ms_set_steps.active_inactive, 
       tbl_addreses.ADDR_COUNTRY_CODE AS 'country',  
       tbl_ms_set_steps.MS_RFI_EXT_DL AS 'ext Deadline',    
       tbl_ms_set_steps.MS_SUBJ_PROB_IRIS AS 'Probability', 
       tbl_MAIN.MAIN_AM AS 'AM', 
       tbl_MAIN.MAIN_NAME+' '+MS_CASE_NBR+' / '+MS_SR_IRIS+' / '+
       ms_description+' / Psr: '+ltrim(str(100*MS_SUBJ_PROB_IRIS))
       +'  / Piris: '+ltrim(str(100*MS_SUBJ_PROB_IRIS)) AS 'CASE', 
       20*tbl_ms_set_steps.MS_LICENCE/100 AS 'LIC-CHF', 
       20*tbl_ms_set_steps.MS_LICENCE*MS_SUBJ_PROB_IRIS/100 
       AS 'Pr-LIC-CHF', 
       20*tbl_ms_set_steps.MS_SERVICE/100 AS 'SRV-CHF', 
       20*tbl_ms_set_steps.MS_SERVICE*MS_SUBJ_PROB_IRIS/100 
       AS 'Pr-SRV-CHF', 
    '[...]'
    FROM
    /'Toutes les tables concernées'/
    WHERE 
    '[Qques conditions]'
    UNION ALL 
    SELECT 
    '[... et je repete ca 3x]'
    En fin de compte, je me retrouve avec le resultat de la requête mais le nom de la colonne reste vide...

  4. #4
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut
    Je me retrouve donc avec des "EXPR1003" en en-tête de colonne pas très parlants et voila tout ce que mon ecran a à me repondre

    .



    J'ai vraiment cherché longtemps. Est-ce un bug ou est-ce tout simplement impossible ?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Il serait peut être temps d'apprendre le SQL. C'est un langage normalisé et mes livres comme mon site web peuvent vous y aider ...

    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
       DATEADD(month,2,tbl_ms_set_steps.MS_EXP_CLOSE_DATE), 
       tbl_ms_set_steps.active_inactive, 
       tbl_addreses.ADDR_COUNTRY_CODE AS 'country',  --> 1) erreur vous confondez expression de valeur et nom d'objet
       tbl_ms_set_steps.MS_RFI_EXT_DL AS 'ext Deadline',    --> 1) erreur vous confondez expression de valeur et nom d'objet
                                                            --> 2) un nom d'objet ne doit pas contenir d'espace ni de caractères diacritiques (accents, cédille...) les seul caractères autorisés sont les lettres (sans accents, les chiffres et le blanc souligné)
       tbl_ms_set_steps.MS_SUBJ_PROB_IRIS AS 'Probability',   --> 1) erreur vous confondez expression de valeur et nom d'objet
       tbl_MAIN.MAIN_AM AS 'AM',   --> 1) erreur vous confondez expression de valeur et nom d'objet
       tbl_MAIN.MAIN_NAME+' '+MS_CASE_NBR+' / '+MS_SR_IRIS+' / '+
       ms_description+' / Psr: '+ltrim(str(100*MS_SUBJ_PROB_IRIS))
       +'  / Piris: '+ltrim(str(100*MS_SUBJ_PROB_IRIS)) AS 'CASE',   --> 1) erreur vous confondez expression de valeur et nom d'objet
                                                                     --> 3) un nom d'objet ne doit pas être un mot clef de SQL sauf à être entouré de guillemets 
       50*tbl_ms_set_steps.MS_LICENCE/100 AS 'LIC-CHF',   --> 1) erreur vous confondez expression de valeur et nom d'objet
                                                          --> 2) un nom d'objet ne doit pas contenir d'espace ni de caractères diacritiques (accents, cédille...) les seul caractères autorisés sont les lettres (sans accents, les chiffres et le blanc souligné)
       50*tbl_ms_set_steps.MS_LICENCE*MS_SUBJ_PROB_IRIS/100 
       AS 'Pr-LIC-CHF',   --> 1) erreur vous confondez expression de valeur et nom d'objet 
                          --> 2) un nom d'objet ne doit pas contenir d'espace ni de caractères diacritiques (accents, cédille...) les seul caractères autorisés sont les lettres (sans accents, les chiffres et le blanc souligné)
       50*tbl_ms_set_steps.MS_SERVICE/100 AS 'SRV-CHF',   --> 1) erreur vous confondez expression de valeur et nom d'objet
                                                          --> 2) un nom d'objet ne doit pas contenir d'espace ni de caractères diacritiques (accents, cédille...) les seul caractères autorisés sont les lettres (sans accents, les chiffres et le blanc souligné)
       50*tbl_ms_set_steps.MS_SERVICE*MS_SUBJ_PROB_IRIS/100 
       AS 'Pr-SRV-CHF',   --> 1) erreur vous confondez expression de valeur et nom d'objet
                          --> 2) un nom d'objet ne doit pas contenir d'espace ni de caractères diacritiques (accents, cédille...) les seul caractères autorisés sont les lettres (sans accents, les chiffres et le blanc souligné)
    cela fait quand même 14 fautes en 11 expressions !!! Beau record....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2006
    Messages : 307
    Par défaut
    Merci pour ces precisions qui ne reglent malheureusement pas mon probleme mais tous ces conseils sont tjrs bon a prendre...
    C'est en faisant des erreurs qu'on apprend !

    Lorsque je n'utilise pas le UNION ALL, cela fonctionne tres bien...
    En fait, mes "renommage de colonne" disparaissent AUTOMATIQUEMENT dans ma requete a l'execution sur MS Query...

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/05/2012, 21h16
  2. Probleme avec l'instruction if - comparaison de 2 noms
    Par C.R.E.A.M dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/07/2007, 22h54
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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