Quelle est la meilleure approche pour append une colonne à une table existante avec des valeurs d'une jointure … Par exemple:
Si je joins le tableau A au tableau B …
Select A.Column1, A.Column2, B.Column1, B.Column2, B.Column3 FROM A INNER JOIN B ON A.Column1 = B.Column2
Fondamentalement, je veux juste copyr la colonne qui existe dans la table B sur le tableau A, comment puis-je append une nouvelle A.Column3 à la table A pour correspondre à B.Column3 basé sur la jointure?
Essaye ça:
alter table A add column3 datatype update A set column3 = B.column3 from A inner join B on A.Column1 = B.Column2
Notez que ce n'est probablement pas la méthode la plus efficace
alter table A add column3 [yourdatatype]; update A set column3 = (select column3 from B where A.Column1 = B.Column2) where exists (select column3 from B where A.Column1 = B.Column2)
Utilisez d'abord une command alter table pour append la nouvelle colonne.
Afterwords utilise la command update pour mettre les valeurs de B dans la colonne créée en A.
Tu peux le faire:
alter A add column3 datatype; update A inner join (select column2 ,column3, count(*) as cnt from B group by column2) b on A.column1 = b.column2 set A.column3 = b.column3;
Vous pouvez créer une nouvelle table en utilisant l'instruction INSERT:
INSERT INTO NEW_A SELECT A.*, B.Column3 FROM A INNER JOIN B ON A.Column1 = B.Column2