Che*_* Lu 13 sql group-by sql-server-2008 sql-update
insert into tableA (column1)
select min(tableC.column1)
from tableB
inner join tableC on (tableC.coumn2 = tableB.column1
and tableB.column2 = tableA.column2)
group by tableA.column2
Run Code Online (Sandbox Code Playgroud)
如何根据条件将上述内容更改为group by而不是insert with group tableB.column2 = tableA.column2?
请注意我正在使用 SQL SERVER 2008.
Gon*_*o.- 29
Update A set Column1 = minC
from (select Ab.Column2, min(C.Column1) as minC
from A Ab
inner join B on Ab.Column2 = B.Column2
inner join C on C.column2 = B.Column2 --No need to add again the A.col2 = B.col2
group by Ab.Column2) Grouped where A.Column2 = Grouped.Column2
Run Code Online (Sandbox Code Playgroud)
这是你想要的吗?这将为每个columnA获取C.Column1最小值,并A.Column1根据条件更新它(之前插入的位置)A.Column2 = Grouped.Column2.
这是一个SQL-Fiddle演示
| 归档时间: |
|
| 查看次数: |
39079 次 |
| 最近记录: |