MS Access 2010 - 使用 RIGHT JOIN 的 SQL 查询 - 返回太多值

Posted

技术标签:

【中文标题】MS Access 2010 - 使用 RIGHT JOIN 的 SQL 查询 - 返回太多值【英文标题】:MS Access 2010 - SQL Query using RIGHT JOIN - Returning too much values 【发布时间】:2014-04-08 22:23:29 【问题描述】:

我正在尝试进行此查询,但它返回的行太多

SELECT 
Denuncia.codigoAsociado,    
Involucrado.nombreCompleto 
FROM 
Denuncia 
RIGHT JOIN 
Involucrado ON Denuncia.ID = Involucrado.idDenuncia

我想要一份 codigoAsociado 和一份 nombreCompleto。我尝试过使用 DISTINCT,但它是一样的。

这是结果(查看链接)抱歉无法发布图片

http://oi62.tinypic.com/2l9gwnp.jpg

我需要它看起来像这样

codigoAsociado |名词完成

341130402 |胡安·卡洛斯·埃斯皮诺萨·洛佩斯

341131290 |卡洛斯·奎罗洛·罗查布伦

.

.

.

341131600 |恩里克·弗罗梅尔

341131949 |劳尔·穆尼奥斯

提前致谢

【问题讨论】:

【参考方案1】:

我使用 Oracle DB,但在 Access 中应该可以这样:

SELECT 
TOP 1 Denuncia.codigoAsociado,    
Involucrado.nombreCompleto 
FROM 
Denuncia 
RIGHT JOIN 
Involucrado ON Denuncia.ID = Involucrado.idDenuncia

TOP 数字告诉您将返回多少行。您还应该使用 TOP 10 PERCENT,它会返回前 10% 的记录。

如果您只需要唯一记录,请尝试使用此代码

SELECT 
DISTINCT Denuncia.codigoAsociado,    
Involucrado.nombreCompleto 
FROM 
Denuncia 
RIGHT JOIN 
Involucrado ON Denuncia.ID = Involucrado.idDenuncia

这篇文章how to use distinct in ms access 也讨论了 Access 中的 DISTINCT。

【讨论】:

以上是关于MS Access 2010 - 使用 RIGHT JOIN 的 SQL 查询 - 返回太多值的主要内容,如果未能解决你的问题,请参考以下文章

将 accde 文件从 MS Access 2013 保存到 MS Access 2010

使用 c# 和 oledb 查询更新 Ms-Access 2010 中的列值

使用表单过滤交叉表查询 MS Access 2010

MS Access Runtime 2010 在安装了以前版本的 Access/Office 的系统上能否正常运行?

在 MS Access 中触发

在 ms access 2010 中使用正则表达式替换列