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

Designer Discussion :

Création table dérivée - multiplier les colonnes [Vxi3]


Sujet :

Designer

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Création table dérivée - multiplier les colonnes
    Bonjour,

    J'ai suivi le tuto et ce que je trouvais ici et là. Malheureusement, je ne parviens toujours pas à avoir le bon code.
    En gros, pour un numco j'ai au moins trois type possible (selon CODE_POSTE_FONCT).
    Or, je voudrais voir apparaître les trois types en lignes pour un numco (alors que j'aurai trois lignes si je laisse en l'état).

    Quand je vérifie la syntaxe, j'obtiens
    "Exception : DBD, [Sybase][ODBC Driver][Adaptive Server IQ]Correlation name 'INTERNE_CONTRAT' not found state:42S02.
    Je ne comprend pas pourquoi...

    Merci de votre aide, le SQL ci dessous :

    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
    SELECT 
    T1.NUMCO_NUMCO, T1.CODE_UTIL AS GC,
    T2.NUMCO_NUMCO, T2.CODE_UTIL AS CRC,
    T3.NUMCO_NUMCO, T3.CODE_UTIL AS AC
    FROM
    (SELECT dbo.INTERNE_CONTRAT.NUMCO_NUMCO, dbo.INTERNE_CONTRAT.CODE_UTIL 
    FROM dbo.INTERNE_CONTRAT
    WHERE dbo.INTERNE_CONTRAT.CODE_POSTE_FONCT='0002') T1,
    (SELECT dbo.INTERNE_CONTRAT.NUMCO_NUMCO, dbo.INTERNE_CONTRAT.CODE_UTIL 
    FROM dbo.INTERNE_CONTRAT
    WHERE dbo.INTERNE_CONTRAT.CODE_POSTE_FONCT='0005') T2,
    (SELECT dbo.INTERNE_CONTRAT.NUMCO_NUMCO, dbo.INTERNE_CONTRAT.CODE_UTIL 
     FROM dbo.INTERNE_CONTRAT
    WHERE dbo.INTERNE_CONTRAT.CODE_POSTE_FONCT='0007') T3
    WHERE T1.NUMCO_NUMCO = T2.NUMCO_NUMCO AND T1.NUMCO_NUMCO = T3.NUMCO_NUMCO 
    AND T1.NUMCO_NUMCO = dbo.INTERNE_CONTRAT.NUMCO_NUMCO

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    J'ai voulu faire plus simple avec seulement deux colonnes.
    Je ne change pas ma requête (je supprime seulement un élément) mais j'ai une erreur de
    syntax near FROM (42000).
    J'apprécie toute piste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
    T1.NUMCO_NUMCO, T1.CODE_UTIL AS GC,
    T2.NUMCO_NUMCO, T2.CODE_UTIL AS CRC,
    FROM
    (SELECT NUMCO_NUMCO, CODE_UTIL 
    FROM dbo.INTERNE_CONTRAT
    WHERE dbo.INTERNE_CONTRAT.CODE_POSTE_FONCT='0002') T1,
    (SELECT NUMCO_NUMCO, CODE_UTIL 
    FROM dbo.INTERNE_CONTRAT
    WHERE dbo.INTERNE_CONTRAT.CODE_POSTE_FONCT='0005') T2
    WHERE T1.NUMCO_NUMCO = T2.NUMCO_NUMCO

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Sans la "," c'est mieux. Malgré tout j'ai toujours un soucis...
    Column 'NUMCO_NUMCO' found in more than one table -- neead a correlation nameState: 42000.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 
    T1.NUMCO_NUMCO, T1.CODE_UTIL AS GC,
    T2.NUMCO_NUMCO, T2.CODE_UTIL AS CRC
    FROM
    INTERNE_CONTRAT T1,
    INTERNE_CONTRAT T2
    WHERE
    T1.CODE_POSTE_FONCT='0002' AND
    T2.CODE_POSTE_FONCT='0005' AND
    T1.NUMCO_NUMCO=T2.NUMCO_NUMCO

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Réponse d'un master DBA Sybase :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
    T1.NUMCO_NUMCO, T1.CODE_UTIL AS GC, T2.CODE_UTIL AS CRC
    FROM INTERNE_CONTRAT T1,
    INTERNE_CONTRAT T2
    WHERE
    T1.CODE_POSTE_FONCT='0002' AND
    T2.CODE_POSTE_FONCT='0005' AND
    T1.NUMCO_NUMCO=T2.NUMCO_NUMCO
    C'est ok.

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

Discussions similaires

  1. [SQL-Server] Lister les colonnes d'une table
    Par tintin31000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/10/2008, 11h33
  2. Réponses: 6
    Dernier message: 01/08/2006, 18h12
  3. paramètrer les colonnes d'une table en VBA
    Par papilou86 dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/05/2006, 16h47
  4. parcourir toutes les colonnes de toutes les tables???
    Par cha_cha dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2006, 12h31
  5. Réponses: 4
    Dernier message: 19/10/2005, 11h26

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