Tsql 如何筛选sql重复项?

Tsql 如何筛选sql重复项?,tsql,sql-server-2008-r2,Tsql,Sql Server 2008 R2,我的问题是:我希望记录不重复,在同一个表和多个表中?如何在SQL中继续执行此操作 让我解释一下我的尝试: Select distinct Col1, col2 from Table where order id = 143 输出 VolumeAnswer1 AreaAnswer1 heightAnswer1 VolumeAnswer2 AreaAnswer1 heightAnswer2 VolumeAnswer3 AreaAnswer1 heightAnsw

我的问题是:我希望记录不重复,在同一个表和多个表中?如何在SQL中继续执行此操作

让我解释一下我的尝试:

Select distinct Col1, col2
from Table
where order id = 143
输出

VolumeAnswer1    AreaAnswer1    heightAnswer1
VolumeAnswer2    AreaAnswer1    heightAnswer2
VolumeAnswer3    AreaAnswer1    heightAnswer2
预期产出
它显示了第二个表的副本,但我需要如下输出:

VolumeAnswer1    AreaAnswer1    heightAnswer1
VolumeAnswer2                   heightAnswer2
VolumeAnswer3

对于多个表,我需要相同的场景,对于联接,我也需要相同的副本。如果不能在SQL Server中处理,我们如何在.Net中处理它?我用了多选,但他们用单选来改变。每一列都应该绑定到dropdownlist…

类似的内容可能是一个很好的开始:

;with cte1 as (
Select col1, cnt1
From (
  Select
    col1
    ,row_number() over(Partition by col1 Order by col1) as cnt1
  From tbltest) as tbl_sub1
Where cnt1 = 1
), cte2 as (
Select col2, cnt2
From (
  Select
    col2
    ,row_number() over(Partition by col2 Order by col2) as cnt2
  From tbltest) as tbl_sub2
Where cnt2 = 1
), cte3 as (
Select col3, cnt3
From (
  Select
    col3
    ,row_number() over(Partition by col3 Order by col3) as cnt3
  From tbltest) as tbl_sub3
Where cnt3 = 1
)
Select
col1, col2, col3
From cte1
full join cte2 on col1 = col2
full join cte3 on col1 = col3

Sql Fiddle显示示例:

欢迎使用StackOverflow!你能解释一下你所说的多个表格中的重复记录是什么意思吗?您可以将列名添加到输出/预期输出中吗?谢谢:-)一个有完整测试数据和sql语法的测试用例就好了。非常感谢,你做得很好。。我非常爱你