【发布时间】:2016-10-20 17:07:58
【问题描述】:
declare @exampleTable table(
id int,
Quantity int
)
declare @exampleTable_Aux table(
id int,
Quantity int
)
insert into @exampleTable values(1,5),(2,8)
insert into @exampleTable_Aux values(1,3),(5,8)
select * from @exampleTable
select di_aux.id from @exampleTable di_aux inner join @exampleTable_Aux dij on di_aux.id=dij.id
declare @Quantity int;
UPDATE di SET Quantity=22
FROM @exampleTable di WHERE di.id in (select di_aux.id from @exampleTable di_aux inner join @exampleTable_Aux dij on di_aux.id=dij.id)
例如,知道我想要的是从子查询中获取值的 Quantity(仅表示我假装的无效)
UPDATE di SET Quantity=@Quantity+di.Quantity
FROM @exampleTable di WHERE di.id in (select di_aux.id,@Quantity=dij.Quantity from @exampleTable di_aux inner join @exampleTable_Aux dij on di_aux.id=dij.id)
应该得到表: 如果甚至可以在子查询的值中更新查询库,我该怎么做?
id Quantity
1 1 8
2 2 8
【问题讨论】:
标签: sql sql-server sql-server-2008 subquery