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 :

Fusion de table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut Fusion de table
    Voir ci-joint l'explication de mon problème,
    Merci
    Images attachées Images attachées  

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Y'a pas de pièce jointe...
    ~ Lola ~

  3. #3
    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 801
    Points
    30 801
    Par défaut
    Il s'agit d'une simple UNION avec des colonnes vides dans chacun des SELECT.
    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
    SELECT  tb1.id
        ,   tb1.nom
        ,   tb1.prenom
        ,   ''  AS ref
        ,   ''  AS id
        ,   ''  AS fonction
    FROM    table_1 tb1
    UNION
    SELECT  ''  AS id
        ,   ''  AS nom
        ,   ''  AS prenom
        ,   tb2.ref
        ,   tb2.id
        ,   tb2.fonction
    FROM    table_2 tb2
    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.

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Merci infiniment al1_24 , je peux utilisé cette sélection dans une requête d'insertion ?!

  5. #5
    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 801
    Points
    30 801
    Par défaut
    Il suffit d'essayer...
    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.

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Voila j'ai essayé d’insérer les ligne dans une table D avec 6 champs (a,b,c,d,e,f) déjà créer, et ça donne un message d'erreur sur access "Erreur de syntaxe dans l’instruction INSERT INTO":
    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
    INSERT INTO D 
    (
    SELECT   tb1.ID
        ,   tb1.NOM
        ,   tb1.PRENOM
        ,   ''  AS REF
        ,   ''  AS ID
        ,   ''  AS FONCTION
    FROM    a tb1
    )
     
    UNION 
     
    (
    SELECT  ''  AS ID
        ,   ''  AS NOM
        ,   ''  AS PRENOM
        ,   tb2.REF
       ,   tb2.ID
        ,   tb2.FONCTION
    FROM   b tb2
    )
    ;
    Merci

  7. #7
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Tu n'utilises pas la bonne syntaxe pour l'insert --> ce tuto t'expliquera comment faire.
    ~ Lola ~

  8. #8
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    perso je trouve sa syntaxe bonne (sauf peut-etre une inversion entre nom/id dans la 2eme requete).

    Le probleme va plutot se situer sur la partie "access".

    il faudrai que vous reboucliez avec la doc de ce dernier pour voir ce qui est faisable ou non avec access

    => au pire faites 2 insert différents

  9. #9
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Citation Envoyé par punkoff Voir le message
    perso je trouve sa syntaxe bonne (sauf peut-etre une inversion entre nom/id dans la 2eme requete).

    Le probleme va plutot se situer sur la partie "access".

    il faudrai que vous reboucliez avec la doc de ce dernier pour voir ce qui est faisable ou non avec access

    => au pire faites 2 insert différents
    Mauvais syntaxe dans le sens où les parenthèses après le nom de la table peuvent prêter à confusion :

    INSERT INTO MaTableA (MesColonnes) SELECT MesColonnes FROM MaTableBPeut-être que mettre les select dans une sous-requête résoudrait le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO MaTable
    SELECT *
    FROM ( 
         SELECT a, '' b FROM MaTableA
         UNION
         SELECT '' a, b FROM MaTableB
    )
    ~ Lola ~

  10. #10
    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 801
    Points
    30 801
    Par défaut
    Et comme ça ?
    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
    INSERT INTO D
        ( a, b, c, d, e, f) 
    (   SELECT  tb1.ID
            ,   tb1.NOM
            ,   tb1.PRENOM
            ,   ''  AS REF
            ,   ''  AS ID
            ,   ''  AS FONCTION
        FROM    a tb1
    UNION 
        SELECT  ''  AS ID
            ,   ''  AS NOM
            ,   ''  AS PRENOM
            ,   tb2.REF
            ,   tb2.ID
            ,   tb2.FONCTION
        FROM   b tb2
    )
    ;
    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.

  11. #11
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    j'ai precisé les champs de la table D dans l'instruction insert into mais ça donne toujours une erreur de syntaxe :
    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
    insert into d (a,b,c,d,e,f) values ( 
    (SELECT   tb1.ID
        ,   tb1.NOM
        ,   tb1.PRENOM
        ,   ''  AS REF
        ,   ''  AS ID
        ,   ''  AS FONCTION
    FROM    a tb1)
    UNION  
    (SELECT  ''  AS ID
        ,   ''  AS NOM
        ,   ''  AS PRENOM
        ,   tb2.REF
       ,   tb2.ID
        ,   tb2.FONCTION
    FROM   b tb2)
    )
    ;
    Merci

  12. #12
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Il ne faut pas mettre le VALUESquand il y a un SELECT
    ~ Lola ~

  13. #13
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Merci al1_24, pour votre modification ça donne toujours un problème de syntaxe..., je tien a signaler que j’exécute cette requête dans MS ACCESS.
    Merci

  14. #14
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par lola06 Voir le message
    Il ne faut pas mettre le VALUESquand il y a un SELECT
    j'ai enlevé Values comme precisé dans l'exemple de al1_24.

  15. #15
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Et avec ma technique ? De mettre en sous-requête les deux requêtes.
    ~ Lola ~

  16. #16
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    avec une jointure je pense pas que ça va donné les résultat voulu (voir le tableau joint en haut), je vais tester la requête avec jointure et je poste le résultat.
    Merci

  17. #17
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Vous pouvez essayer un full outer join :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT lesColonnesVoulues
      FROM tb1 
               FULL OUTER JOIN tb2 ON (1=0)

Discussions similaires

  1. Fusion de tables.
    Par Julieta dans le forum Access
    Réponses: 2
    Dernier message: 06/08/2007, 17h17
  2. [Requete] Fusion de tables
    Par arn.oo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 19/04/2007, 14h32
  3. [WD 9]fusion de tables
    Par milfra12 dans le forum WinDev
    Réponses: 2
    Dernier message: 30/01/2007, 08h16
  4. fusion de table avec un champ en commun
    Par chamoix dans le forum Access
    Réponses: 3
    Dernier message: 13/12/2006, 23h18
  5. importation et fusion de tables access
    Par M@X_be dans le forum Access
    Réponses: 2
    Dernier message: 20/11/2005, 00h37

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