SQL : transfert de colonnes entre tables
Xt@z
-
xt@z -
xt@z -
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
- Requete sql pix ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Migration base access vers sql server - Télécharger - Gestion de données
16 réponses
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
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............
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
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.
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...
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............
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............
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!
En tous cas sous SQL Server 7 ça tourne.