2009-08-05 24 views
0

使用Access 2003如何更新或選擇表中的相同行值?

表1

EmpID Name city 

101 Raja Sydney 
102 Ram Melbourne 
103 Ravi Adelaide 
101 
102 
103 

...等,

我想更新或選擇相同的名稱,城市爲空白EMPID的

期望輸出

EmpID Name city 

101 Raja Sydney 
102 Ram Melbourne 
103 Ravi Adelaide 
101 Raja Sydney 
102 Ram Melbourne 
103 Ravi Adelaide 

等等...,

如何查詢這種情況?

+0

更新很簡單,但此表是否有主鍵? – 2009-08-05 14:26:05

+0

表_as posted_沒有密鑰並且違反了1NF。 – onedaywhen 2009-08-06 09:30:51

回答

1

它可以使用子查詢中獲取更新:

UPDATE (
    SELECT tblT.EmpID, tblT.EmpName, tblT.City 
    FROM tblT 
    WHERE tblT.EmpName Is Null) AS t 
INNER JOIN (
    SELECT tblT.EmpID, tblT.EmpName, tblT.City 
    FROM tblT 
    WHERE tblT.EmpName Is Not Null) AS x 
ON t.EmpID = x.EmpID 
SET t.EmpName = [x].[EmpName], t.City = [x].[City]; 

注意查詢設計窗口會嚴重擾亂了輸出,並且可以通過改變括號停止工作的子查詢()來方括號[],但是,將SQL粘貼到SQL View中並保存並運行足夠安全。

0

您發表的帖子中沒有任何關鍵字,並且違反了first normal form

例如,如果表中包含這樣的數據:

Table1 

EmpID Name city 

101 Raja Sydney 
102 Ram Melbourne 
103 Ravi Adelaide 
101 Ajaa New York 
102 Mar Des Moines 
103 Ivar Dallas 
101 
102 
103 

...你所期望的那麼哪個值這個查詢挑選102:墨爾本或德梅因?

相關問題