这是我的数据库表,我的下拉列表的SqlDataSource SelectCommand和我的下拉列表的text和value字段属性。我希望我选择的国家/地区具有与其对应的所有resultId。我的意思是,当我选择西班牙时,我希望结果ID分别为2和3。但是问题是,在我的下拉列表中,我有重复的国家/地区文本,因此无法更改。

country      resultsId
spain          2
spain          3
china          2
china          4
canada         1
canada         4
england        1
england        3
usa            1
usa            2

    SelectCommand="SELECT distinct countries, resultsid  FROM countrytable"
    DataTextField="country" DataValueField="resultsid"


我尝试了这个SelectCommand:

    SelectCommand="SELECT resultsId,(select country, count(*)
    from countrytable group by country having count(*) >1) FROM countrytable


但是现在,我有这个错误:

    Only one expression can be specified in the select list when the
    subquery is not introduced with EXISTS


我正在使用SQL Server和ASP.NET C#

最佳答案

您应该为此使用STUFF

select distinct country, STUFF
(
    (select ',' + cast(resultsid as varchar) from countrytable c2
    where c1.country = c2.country
    for XML PATH ('')),1,1,''
)
from countrytable c1

关于c# - 在asp.net的下拉列表中重复的文本值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48381887/

10-10 11:55