2017-02-20 115 views
0

我想要完成的是查詢不同的字段field1,但返回2個字段的數據。我使用的MS Access 2010和field1Text和'field2'是DateMS Access SQL查詢不同的返回多個字段

下面是當前的代碼:

select distinct (field1) from tblOne where year(ddate) = 2016 

我試了一下分組,但在網上搜索時我嘗試查詢它說的字段爲「未彙總」

(最有可能,因爲它是一個 Date類型?)

不同的字段應該是'field1'。

樣品DB:

field1  field2 
------  -------- 
0000  1/1/2016 
0000  1/1/2016 
0000  1/1/2017 
0001  1/1/2016 
0002  1/1/2015 

and the query should return this: 
field1  maxfield2 
------  -------- 
0000  1/1/2017 (the latest date) 
0001  1/1/2016 
0002  1/1/2015 
+0

你的第一個查詢是否給你一個錯誤,或者是否有錯誤來自別的東西? –

+0

「並從數據中返回兩個字段」 - 哪兩個字段? field1和field2或兩個其他的隨機字段,你需要清楚,如果你想要一個質量的答案 – Daniel

+0

嗨,代碼'select distinct(field1)from tblOne where year(ddate)= 2016'正常,但我們需要它返回2字段值 - field1(文本)和field2(日期)。謝謝 – aboka

回答

2

你不需要不同,不同的適用於選擇不只是一個立即向不同的關鍵字的權利所有領域。不同的會給你一個「不同」行的列表,即它只是刪除重複。

您需要一個GROUP BY。這將只顯示按字段分組的每個不同組合中的一個,但可以讓您在未分組的其他字段上執行聚合。你想要的總數是MAX,正如你所說你想要最新的或最大的日期。

SELECT field1, MAX(field2) AS maxfield2 
FROM tblOne 
GROUP BY field1; 
+0

嗯,這很奇怪。我記得以前回復過這個評論。無論如何,謝謝你的樣品,它完美的作品:) – aboka