0

私の質問:同じテーブルと複数のテーブルに重複のないレコードが必要ですか?SQLでこれを行うにはどうすればよいですか?

私が試したことを説明しましょう:

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

出力

VolumeAnswer1    AreaAnswer1    heightAnswer1
VolumeAnswer2    AreaAnswer1    heightAnswer2
VolumeAnswer3    AreaAnswer1    heightAnswer2

期待される出力
2番目のテーブルの重複が表示されますが、次のような出力が必要です。

VolumeAnswer1    AreaAnswer1    heightAnswer1
VolumeAnswer2                   heightAnswer2
VolumeAnswer3

複数のテーブルに対して同じシナリオが必要です。結合についても同じ複製が見つかりました。SQL Serverで処理できない場合、.Netでどのように処理できますか?複数選択を使用しましたが、以前は単一選択で変更していました。すべての列はドロップダウンリストにバインドする必要があります...

4

1 に答える 1

1

このようなものから始めるのが良いかもしれません:

;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 表示例: http://sqlfiddle.com/#!3/c9127/1

于 2012-07-24T19:05:11.117 に答える