删除多个列上的重复值sql server

时间:2017-07-05 20:27:46

标签: c# sql asp.net sql-server

我创建了一个小型应用程序,供我个人使用,显示基于城市查找的信息。我遇到并发布了一些数据重复的地方,因为相同的值可以是3列中的任何一列。

示例查询

SqlCommand cmd6 = new SqlCommand("SELECT Distinct County1, County2, County3 from table where StateId=" + "'" + State + "'" + " AND City=" + "'" + City + "'", con);
using (SqlDataReader rdr = cmd6.ExecuteReader())
        {
            while (rdr.Read())
            {
                this.County.Text += rdr["County1"].ToString() + " ";
                this.County.Text += rdr["County2"].ToString()+ " ";
                this.County.Text += rdr["County3"].ToString() + " ";
            }
        }

        con.Close();

输出:Auburn,Alabama

 CHAMBERS CHAMBERS CHAMBERS LEE CHAMBERS LEE LEE

Chambers和Lee可以根据他们输入数据库的方式在County1,County2中。我不知道是从头开始,而是想知道在将它放入字符串之前是否可以检查SQL语句中的重复项。比较列时,可能会显示3列之间的唯一值?感谢大家!

1 个答案:

答案 0 :(得分:1)

将值放在一列中吗?

select Distinct v.county
from table t cross apply
     (values (t.county1), (t.county2), (t.county3)) v(county)
where v.county is not null and
      StateId=" + "'" + State + "'" + " AND City=" + "'" + City + "'",