在c#中从数据库中选择单个值(当表有多个相似的值时)

时间:2017-06-20 06:17:21

标签: c# sql sql-server

我有一个包含3列PrjId,prjname和station的表。 这是我的表格示例:

PrjId     prjname     station
1         test1       s1
1         test1       s2      
1         test1       s3

我想将project_detail表中的项目提取到下拉列表中。 这是我的SQL查询

select * from project_detail where prjname <> '' and PrjId is not null;

问题是,而不是一个test1项目,所有3个test1都显示在下拉列表中。我知道我必须提出一些条件,但我不明白该怎么做。皮斯帮助。

3 个答案:

答案 0 :(得分:2)

select Distinct prjname 
 from project_detail where prjname <> '' and PrjId is not null;

答案 1 :(得分:0)

您的要求适用于DISTINCT关键字

select DISTINCT prjname 
from project_detail 
where prjname <> '' and PrjId is not null;

这将为您提供表格中唯一prjname的列表。

然而,在该表中似乎有些不太正确。

如果您想描述项目和站点之间的关系,其中项目在许多站点中存在,并且站点可能有许多项目,那么更正确的方法可以是三个相关表格,一个用于项目,一个用于站点和一个项目与车站之间的关系

Project_Detail
---------------
idproj
prjname
....other specific project attributes

Station_Detail
----------------
idstation
stname
....oter specific station attributes

Project_Station
----------------
idprj
idstation
....other specific relationship attributes
....like for example dateofinstall,active etc...

答案 2 :(得分:0)

select Distinct PrjId, prjname  from project_detail where prjname <> '' and PrjId is not null;

它可以为你工作。