如何使用此条件在ms访问表中添加新列

时间:2010-03-05 10:16:56

标签: sql ms-access

我有两个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

2 个答案:

答案 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);