查询以除去匹配的记录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
我怎样才能从表中只返回一条记录?任何帮助都将不胜感激。
您可以直接在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]