Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSACCESS SQL独立查询_Sql_Ms Access 2010 - Fatal编程技术网

MSACCESS SQL独立查询

MSACCESS SQL独立查询,sql,ms-access-2010,Sql,Ms Access 2010,我使用的是MS Access 2010,我被卡住了。有一个包含两列FileID和Name的表,其中FileID可以有多个名称。我需要获得不同的名称,以及每个名称的FileID。只要返回一个文件ID,我就不在乎返回哪个文件ID 表: 文件ID,名称 1、约翰 1、约翰 2、约翰 3、西蒙 4,大卫 我期待着 3、西蒙 4,大卫 要么1,约翰,要么2,约翰 如果您能就如何在查询中实现这一点提供任何建议,我将不胜感激。请告诉我这是否适用于您: SELECT FileID, Name FROM [ta

我使用的是MS Access 2010,我被卡住了。有一个包含两列FileID和Name的表,其中FileID可以有多个名称。我需要获得不同的名称,以及每个名称的FileID。只要返回一个文件ID,我就不在乎返回哪个文件ID

表:
文件ID,名称
1、约翰
1、约翰
2、约翰
3、西蒙
4,大卫

我期待着
3、西蒙
4,大卫
要么1,约翰,要么2,约翰


如果您能就如何在查询中实现这一点提供任何建议,我将不胜感激。

请告诉我这是否适用于您:

SELECT FileID, Name FROM [table] WHERE [conditions] GROUP BY Name;

这将只返回1个FileID,并为每个唯一名称返回一条记录

您可以使用聚合函数执行此操作:

select name, min(fileid) as fileid
from [table] t
group by name;
Access还支持
first()
last()
。因此,
first()
将获得遇到的第一个值(与最小值相反):


您不能仅按名称分组。如果选择FileID,则Group By也需要FileID:(很抱歉。我忘了Access在非分组列上需要某种聚合函数。Gordon的答案提供了一个更好的解决方案。是的,他的答案很有效。谢谢你的回答!!谢谢。
select name, first(fileid) as fileid
from [table] t
group by name;