我有两个msaccess表
表A
textA numA
bd 1
as 0
aa 2
cc 4
tableB的
textB
ss
aa
bd
as
如何编写一个sql查询,在表B中添加一个名为numB的列,以便最终表B为
tableB(基本上从tableA中获取值)
textB numB
ss 0 ( because ss is not there in table A )
aa 2
bd 1
as 0
答案 0 :(得分:2)
这个SQL将创建一个名为tblFooC
的新表SELECT tblFooB.TextB, nz([NumA],0) AS Expr1 INTO tblFooC
FROM tblFooB LEFT JOIN tblFooA ON tblFooB.TextB = tblFooA.TextA;
然后你可以删除表tblFooB并将tblFooC重命名为tblFooB
答案 1 :(得分:0)
您不能在一个查询中执行此操作。您可以从表A和表A创建TableC。 B,然后重命名和/或删除,以便表C成为表B,或者您可以运行DDL查询以向表B添加列。我建议第二个选项。
添加列:
ALTER TABLE TableB ADD COLUMN NumB Integer
更新:
UPDATE TableA
RIGHT JOIN TableB ON TableA.TextA = Tableb.TextB
SET TableB.BumB = Nz([NumA],0);