2010-03-05 63 views
1

我有兩個MSACCESS表如何在MS Access表與此條件添加新列

TABLEA

textA numA 
bd 1 
as 0 
aa 2 
cc 4 

tableB的

textB 
ss 
aa 
bd 
as 

如何編寫SQL查詢來添加一列在表B中稱爲numB,以便最終表B將是

表B(基本上從表A)

textB numB 
ss  0  (because ss is not there in table A) 
aa  2 
bd  1 
as  0 
+1

除非y我們的應用程序需要您的numA值的重複副本...不要這樣做。只需在需要時查找numA值。如果「aa」的numA值從2變爲7,生活將會更容易 - 只需要在一個地方更改它。 – HansUp 2010-03-05 15:55:31

回答

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 to tblFooB

0

你不能在一個查詢中做到這一點。您可以從表A & B創建TableC,然後重命名和/或刪除,以便表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);