我创建了一个小型应用程序,供我个人使用,显示基于城市查找的信息。我遇到并发布了一些数据重复的地方,因为相同的值可以是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列之间的唯一值?感谢大家!
答案 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 + "'",