SQL : transfert de colonnes entre tables
Fermé
Bonjour,
pour simplifier mon pb (de newbie) est le suivant :
J'ai 2 tables avec leurs colonnes respectives (disons table1 et table 2) comment on fais pour créer une table 3 avec par ex les 3 premieres colonnes de table1 et 2 col de table2? c koi l'instruction ?
ou, autre solution mettre une colonne de table2 à la place d'une colonne de table1 ?
J'ai besoin d'un coup de pouce là SVP !
Merci
PS: je précise que je bosse dans M. Access
pour simplifier mon pb (de newbie) est le suivant :
J'ai 2 tables avec leurs colonnes respectives (disons table1 et table 2) comment on fais pour créer une table 3 avec par ex les 3 premieres colonnes de table1 et 2 col de table2? c koi l'instruction ?
ou, autre solution mettre une colonne de table2 à la place d'une colonne de table1 ?
J'ai besoin d'un coup de pouce là SVP !
Merci
PS: je précise que je bosse dans M. Access
A voir également:
- SQL : transfert de colonnes entre tables
- Logiciel sql - Télécharger - Bases de données
- Sql replace plusieurs valeurs - Forum Programmation
- Requete sql pix - Forum PHP
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
- Requête sql date supérieure à ✓ - Forum Programmation
16 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
8 janv. 2004 à 16:50
8 janv. 2004 à 16:50
Exemple:
INSERT INTO table3 (col1, col2, col3)
SELECT table1.col5, table1.col6, table2.col8
FROM table1, table2
WHERE table1.col1 = table2.col1
INSERT INTO table3 (col1, col2, col3)
SELECT table1.col5, table1.col6, table2.col8
FROM table1, table2
WHERE table1.col1 = table2.col1
mobile75
Messages postés
69
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
23 septembre 2008
17
8 janv. 2004 à 16:15
8 janv. 2004 à 16:15
salut,
d'abord as-tu au moins un champ commun dans tes 2 tables ?
par exemple une clé_primaire dans table 1 cle_primaire_table1 dans table2
Si oui tu fais une requete creation de table en jointant les 2 tables tu descends les champs que tu veux dans ta nouvelle tabe 2 puis tu executes
A+
Essayer.........des fois ça marche............
d'abord as-tu au moins un champ commun dans tes 2 tables ?
par exemple une clé_primaire dans table 1 cle_primaire_table1 dans table2
Si oui tu fais une requete creation de table en jointant les 2 tables tu descends les champs que tu veux dans ta nouvelle tabe 2 puis tu executes
A+
Essayer.........des fois ça marche............
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
8 janv. 2004 à 16:23
8 janv. 2004 à 16:23
Salut, je ne sais pas si ACCESS les prend, a verifier, mais un SELECT blablabla INTO ca ne marche pas?
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
en fait g viens d'essayer avec
INSERT INTO blabla SELECT blablabla FROM blablabla;
ce qui est pas mal sauf que bien sûr ca ne se mets pas dans les les premières lignes du tableau mais à la fin...
mobile75>> comment on fait pour indiquer les clé primaire, g pas trouvé ? à part les mettre à la main a chaque fois :( enfin bref si tu avais un code en ex ton idée, ca serait bien ;)
teebo>> heu... select... into ?? marche comment ca ? j'y arrive pas...
sebsauvage>>v essayez en rajoutant le where... ;)
merci de vos répones en tout cas
INSERT INTO blabla SELECT blablabla FROM blablabla;
ce qui est pas mal sauf que bien sûr ca ne se mets pas dans les les premières lignes du tableau mais à la fin...
mobile75>> comment on fait pour indiquer les clé primaire, g pas trouvé ? à part les mettre à la main a chaque fois :( enfin bref si tu avais un code en ex ton idée, ca serait bien ;)
teebo>> heu... select... into ?? marche comment ca ? j'y arrive pas...
sebsauvage>>v essayez en rajoutant le where... ;)
merci de vos répones en tout cas
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
8 janv. 2004 à 17:00
8 janv. 2004 à 17:00
Arf, une de mes boulettes preferees, t'inquietes pas j'ai la tete ailleurs, desole pour cette fausse piste, ecoute Sebsauvage ca t'avancera beaucoup plus :-D
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avec le where c nickel ! merci (+++)
PS: Merci au webmaster pour son cours sur le SQL, j'ai appris bp sur ce site.
PS: Merci au webmaster pour son cours sur le SQL, j'ai appris bp sur ce site.
mobile75
Messages postés
69
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
23 septembre 2008
17
8 janv. 2004 à 17:11
8 janv. 2004 à 17:11
salut
je confirme la version de seb
concernant les clés primaire : faire un code vba ( gérant aussi les erreurs ) pour cela puis le faire tourner pour 2 à 5 tables je n'en vois pas l'interet autant le faire à la main
si tu en avais une bonne quarantaine je pense que cela vaudrait le coup en passant un champ de la table comme variable
A+
Essayer.........des fois ça marche............
je confirme la version de seb
Insert into table3 (col1,col2) select ...... from.............. where ........
concernant les clés primaire : faire un code vba ( gérant aussi les erreurs ) pour cela puis le faire tourner pour 2 à 5 tables je n'en vois pas l'interet autant le faire à la main
si tu en avais une bonne quarantaine je pense que cela vaudrait le coup en passant un champ de la table comme variable
A+
Essayer.........des fois ça marche............
alors... J'ai essayer avec le where pour récuperer les colones de 3 tables diff dans une quatrieme, ok sauf que j'ai beaucoup trop de lignes, doit y avoir un truc a faire au niveau de relations...
pour le coup de la clé primaire c que le but est qu'on ne touche plus à access ! les personnes qui se serviront de ca n'y connaissent rien...
pour le coup de la clé primaire c que le but est qu'on ne touche plus à access ! les personnes qui se serviront de ca n'y connaissent rien...
g taper ca :
INSERT INTO convoi ( machine, DATE1, H1, Min1, DATE2, H2, Min2, DATE3, H3, Min3 )
SELECT convoyeur1.Machine, convoyeur1.DATE, convoyeur1.H, convoyeur1.MIN, convoyeur2.DATE, convoyeur2.H, convoyeur2.MIN, convoyeur3.DATE, convoyeur3.H, convoyeur3.MIN
FROM convoyeur1, convoyeur2, convoyeur3;
alors que si g fais à la suite :
INSERT INTO convoi ( Machine, date1, temps1, min1 )
SELECT convoyeur1.Machine, convoyeur1.DATE, convoyeur1.H, convoyeur1.MIN
FROM convoyeur1;
puis
INSERT INTO convoi ( Machine2, date2, temps2, MIN2 )
SELECT convoyeur2.Machine, convoyeur2.DATE, convoyeur2.H, convoyeur2.MIN
FROM convoyeur2;
et
INSERT INTO convoi ( Machine3, date3, temps3, MIN3 )
SELECT convoyeur3.Machine, convoyeur3.DATE, convoyeur3.H, convoyeur3.MIN
FROM convoyeur3;
c niquel le seul pb c que les 2 dernieres insertions se font a chaque fois en bas du tablo...
INSERT INTO convoi ( machine, DATE1, H1, Min1, DATE2, H2, Min2, DATE3, H3, Min3 )
SELECT convoyeur1.Machine, convoyeur1.DATE, convoyeur1.H, convoyeur1.MIN, convoyeur2.DATE, convoyeur2.H, convoyeur2.MIN, convoyeur3.DATE, convoyeur3.H, convoyeur3.MIN
FROM convoyeur1, convoyeur2, convoyeur3;
alors que si g fais à la suite :
INSERT INTO convoi ( Machine, date1, temps1, min1 )
SELECT convoyeur1.Machine, convoyeur1.DATE, convoyeur1.H, convoyeur1.MIN
FROM convoyeur1;
puis
INSERT INTO convoi ( Machine2, date2, temps2, MIN2 )
SELECT convoyeur2.Machine, convoyeur2.DATE, convoyeur2.H, convoyeur2.MIN
FROM convoyeur2;
et
INSERT INTO convoi ( Machine3, date3, temps3, MIN3 )
SELECT convoyeur3.Machine, convoyeur3.DATE, convoyeur3.H, convoyeur3.MIN
FROM convoyeur3;
c niquel le seul pb c que les 2 dernieres insertions se font a chaque fois en bas du tablo...
mobile75
Messages postés
69
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
23 septembre 2008
17
8 janv. 2004 à 17:28
8 janv. 2004 à 17:28
tes 3 tables ont-elles une relations de 1:1 ou 1:n entre elles ?
si tu as 1:n cela pourrais expliquer le nombre important de lignes
Precises un peu svp
A+
Essayer.........des fois ça marche............
si tu as 1:n cela pourrais expliquer le nombre important de lignes
Precises un peu svp
A+
Essayer.........des fois ça marche............
pour le moment elles ont aucunes relations...
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
8 janv. 2004 à 17:44
8 janv. 2004 à 17:44
ah ben vi là forcément c'est moins pratique :)
mobile75
Messages postés
69
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
23 septembre 2008
17
8 janv. 2004 à 18:03
8 janv. 2004 à 18:03
comme dit seb
et si en plus tu peux pas les lier entre elles alors.....
t'es sur que t'as pas un champ identique dans tes 3 tables ex: N° de commande ou Nom ou code postal etc ...etc ....
parce que sinon ...
c'est comme melanger les torchons et les serviettes.......
A+
Essayer.........des fois ça marche............
ah ben vi là forcément c'est moins pratique :)
et si en plus tu peux pas les lier entre elles alors.....
t'es sur que t'as pas un champ identique dans tes 3 tables ex: N° de commande ou Nom ou code postal etc ...etc ....
parce que sinon ...
c'est comme melanger les torchons et les serviettes.......
A+
Essayer.........des fois ça marche............
-up- ;o)
pas de solutions pour transferer des colonnes entre tables ?
pas de solutions pour transferer des colonnes entre tables ?
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
12 janv. 2004 à 09:28
12 janv. 2004 à 09:28
Ben si tu n'a aucun moyen de lier les informations de tes 3 tables entre elles, ça ne sert à rien.
Tu obtiendra juste un beau produit cartésien... :-/
Tu obtiendra juste un beau produit cartésien... :-/
8 janv. 2004 à 16:52
Tu es sur que le INTO est direct apres le SELECT, intuitivement je l'aurais colle a la toute fin...mais ca fait tellement longtemps...
. . Bon!Si on m'empeche de travailler
\_/ Je ne me debattrai pas!
8 janv. 2004 à 17:26
En tous cas sous SQL Server 7 ça tourne.