2012-07-24 102 views
1

我在.mdb文件上使用以下查询,结果如下。Ms-Access GROUP BY,TOP查询

SELECT tableA.id, tableA.type, tableA.date, SUM(tableA.val) AS total, tableB.SumB 
FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id 
GROUP BY tableA.id, tableA.type, tableA.date, tableB.SumB ; 

结果:

enter image description here

我需要从组记录具有相同typedate仅第一条记录。

我会使用DISTINCT但问题是我有一个不同的字段(在这个例子中id)。

有什么建议吗?

谢谢

P.S.情况2:

ID对于红色记录是相同的,但我们有一个具有不同字符串值的附加列'name'。

回答

3

ID使用分钟和条款从组中删除

SELECT min(tableA.id) as id, tableA.type, tableA.date, 
SUM(tableA.val) AS total, tableB.SumB 
FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id 
GROUP BY tableA.type, tableA.date, tableB.SumB ; 
+0

谢谢。 另一种情况如何:id是相同的,但我有另一列(名称)具有不同的值? – thedev 2012-07-24 08:13:24

+0

在这种情况下,你想只返回一个名字吗? – Madhivanan 2012-07-24 08:21:05

+0

是的,第一个记录 – thedev 2012-07-24 08:26:06