Quelle est la meilleure approche pour ajouter une colonne à une table existante avec les valeurs d'une jointure ... Par exemple:
Si je rejoins les tableaux A à B ...
Select
A.Column1,
A.Column2,
B.Column1,
B.Column2,
B.Column3
FROM A
INNER JOIN B
ON A.Column1 = B.Column2
En gros, je veux simplement copier la colonne de la table B dans la table A, comment puis-je ajouter un nouveau A.Column3 à la table A pour correspondre à B.Column3 en fonction de 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 ceci est probablement pas 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)
Commencez par utiliser une commande alter table pour ajouter la nouvelle colonne.
Les mots suivants utilisent update commande pour mettre les valeurs de B dans la colonne créée dans 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;