簡體   English   中英

使用MS Access中的數字模式更新SQL中的查詢

[英]Update Query in SQL with numeric pattern in MS Access

大家好,

在創建將數據分組的更新查詢時,我需要幫助。

我表中的數據實際上實際上是空間數據,可以認為是10列乘5行的矩陣。 我有ObjectID,行和列,但是我想要列DesiredResult,它是行和列的2x2分組。

所以1,1 1,2,2,1和2,2的R,Cs的DesiredResult為1,而1,3 1,4 2,3 2,4的R,Cs的DesiredResult為2,依此類推(請參見下面的示例)....

我能夠結合使用Quotient和Mod來創建R和C列,所以我假設我會做類似的事情,但是我被困住了。 我將如何在MS Access中進行此查詢?

 ObjectID   R   C   DesiredResult
 1            1 1   1
 2            1 2   1
 3            1 3   2
 4            1 4   2
 5            1 5   3
 6            1 6   3
 7            1 7   4
 8            1 8   4
 9            1 9   5
 10           1 10  5
 11           2 1   1
 12           2 2   1
 13           2 3   2
 14           2 4   2
 15           2 5   3
 16           2 6   3
 17           2 7   4
 18           2 8   4
 19           2 9   5
 20           2 10  5
 21           3 1   6
 22           3 2   6
 23           3 3   7
 24           3 4   7
 25           3 5   8
 26           3 6   8
 27           3 7   9
 28           3 8   9
 29           3 9   10
 30           3 10  10
 31           4 1   6
 32           4 2   6
 33           4 3   7
 34           4 4   7
 35           4 5   8
 36           4 6   8
 37           4 7   9
 38           4 8   9
 39           4 9   10
 40           4 10  10
 41           5 1   11
 42           5 2   11
 43           5 3   12
 44           5 4   12
 45           5 5   13
 46           5 6   13
 47           5 7   14
 48           5 8   14
 49           5 9   15
 50           5 10  15

就像是 ... ?

SELECT a.Row, a.Col, Col\2 AS D1, Col Mod 2 AS D2, [D1]+[D2] AS Desired
FROM  table  AS a
ORDER BY a.Row, a.Col;

雷穆非常近似,但事實證明,這滿足了我的需求。 我需要行索引和列索引。

 SELECT ObjectID, R, C, 
   Int(([C]-1)/2) AS ColIndex,
   Int(([R]-1)/2) AS RowIndex, 
   [RowIndex]*5+[ColIndex]+1 AS DesiredResult
 FROM Testing
 ORDER BY ObjectID

查詢中的關鍵是在“列和行索引”中都有數字2(這是分組大小),在“期望結果”中使用數字5代表行數單元格。

謝謝 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM