私は最初のデータの各グループ内でcolumn1の、 によってデータをグループ化することによって、テーブルを更新しようとしている: ソートCOLUMN2によるデータ、 がトップでColumn4を移入column3の値(column2でソート) Columns1,3,4はvarchar、Column3はintです。 私はとしてCTEとトップとの更新を試してみました:SQL更新集約Iする必要が
Update a
Set a.col4 = c.Best
From Table1 a,
(Select Top (1) Col3 as Best, Col1, Col2
From Table1
Group By Col1
Order By Col2 DESC) c
where a.Col1 = c.Col1
が、それはない、各グループからのテーブルからトップ値を選択しているようです。誰もがここに欠けているか、これを行う簡単な方法を知っていますか?
始まるデータ:
のCol1 Col2にCOL3 COL4
unit101 11 unit118 NULL
unit101 13 unit125 NULL
unit101 12 unit135 NULL
unit107 11 unit168 NULL
unit107 10 unit199 NULL
必要な結果:
Col1 Col2 Col3 Col4
unit101 11 unit118 unit125
unit101 13 unit125 uni COL1によってグループ化されるようCOL 2は、データの行の最大値であるCOL3から値を有するようにT125
unit101 12 unit135 unit125
unit107 11 unit168 unit168
unit107 10 unit199 unit168
列4つのニーズ。
を求めた結果を提供ヨーヨーは[MCVE](http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-を提供することができますmcve-for-what-to-me-to-be-a-very-simple-sql-query)を使用していますか?入力/出力のサンプルを見ることができれば、このような質問に答える方が簡単です。 –