C# SQL-跨多个列选择distinct

C# SQL-跨多个列选择distinct,c#,sql,ms-access,oledb,distinct,C#,Sql,Ms Access,Oledb,Distinct,我在编写SQL代码以从access表中跨8列选择不同联系人时遇到问题。我只想得到不同的结果,而不是重复的结果。下面是我试过的 cmd.CommandText = "select distinct c1, c2, c3, c4, c5, c6, c7, c8 from table where state IN (" + paramClause.ToString() + ")"; 我的目的是将其显示在标签上,没有重复项

我在编写SQL代码以从access表中跨8列选择不同联系人时遇到问题。我只想得到不同的结果,而不是重复的结果。下面是我试过的

cmd.CommandText = "select distinct c1, c2, c3, c4, c5, c6, c7, c8 
                   from table 
                   where state IN (" + paramClause.ToString() + ")";

我的目的是将其显示在标签上,没有重复项

如果我理解正确,您在一个或多个列中有联系人(从c1到c8)

如果是这样,请尝试重写SQL语句,如下所示:

SELECT C1
FROM TABLE
WHERE STATE IN (...)
UNION
SELECT C2
FROM TABLE
WHERE STATE IN (...)
...
UNION
SELECT C8
FROM TABLE
WHERE STATE IN (...)
UNION操作符自己消除重复项

我希望这能帮助你……

你有:

cmd.CommandText = "select distinct c1, c2, c3, c4, c5, c6, c7, c8 
                   from table 
                   where state IN (" + paramClause.ToString() + ")";
但是您需要将字符串用单引号括起来。我认为问题在于你的WHERE条款。尝试这样做:

cmd.CommandText = "select distinct c1, c2, c3, c4, c5, c6, c7, c8 
                   from table 
                   where state IN ('" + paramClause.ToString() + "')";

你得给我们多一点继续下去。数据、结构等的示例,您期望结果是什么请编辑您的问题,以便更清楚地阐明您想要什么。您编写的查询应该返回表中不同的行。你真的想用一列列出[c1]到[c8]列中出现的所有不同值吗?嗯,好吧,你想在标签上显示“this”,但还不清楚“this”是什么。请向我们展示一些示例数据和一个最终结果应该是什么样子的例子。他们要求你定义什么“不重复”对你意味着这可能有点高级,但是用C语言,考虑使用来执行数据库查询。