查询以除去匹配的记录C#

本文关键字:记录 查询 | 更新日期: 2023-09-27 18:25:15

我希望能够在C#Visual Studio 2012中的WinForms应用程序中编写一个不会显示匹配记录的查询。假设我在Access DB中有一条记录,它读取

JOHN SMITH MALE   19
JANE DOE   FEMALE 19
JOHN SMITH MALE   19

一个类似的查询

SELECT a.NAME FROM [NAME] a WHERE a.NAME = JOHN SMITH 
//but returns both records in the table 

我怎样才能从表中只返回一条记录?任何帮助都将不胜感激。

查询以除去匹配的记录C#

您可以直接在SQL中执行此操作
使用distinct只获取没有重复的记录

SELECT DISTINCT a.NAME 
FROM your_table a 
WHERE a.NAME = 'JOHN SMITH'

或者使用top只获得一定数量或记录作为结果

SELECT top 1 a.NAME 
FROM your_table a 
WHERE a.NAME = 'JOHN SMITH'

如果我理解正确,您希望修改您提供的查询,以便不返回

John Smith
John Smith

它只返回

John Smith


如果是这样的话,那么你想要

SELECT DISTINCT a.NAME FROM [NAME] a WHERE a.NAME = "JOHN SMITH"

如果这不是你想做的,那么也许你可以更新你的问题,更好地解释你的问题?

还不太清楚您是想在C#还是SQL中这样做。于尔根的回答很好。

如果您正在使用,或者在某个时候决定在C#中使用LINQ,那么在获取一行时有一个FirstOrDefault()选项,如下所示:

return db.NameTable.Where(q => q.name == "John Smith").FirstOrDefault();

在您的sql语句中使用Group By[reference removed'cause of bad karma]或distinct[reference moved'cause for bad karma]