首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

还是一个update语句,请各位达人看一下!解决办法

2012-03-13 
还是一个update语句,请各位达人看一下!表t1idpidaadata1data2data31111232121233131234141235211236221237

还是一个update语句,请各位达人看一下!
表t1
id   pid           aa     data1   data2   data3
1       1             1       1           2           3
2       1             2       1           2           3
3       1             3       1           2           3
4       1             4       1           2           3
5       2             1       1           2           3
6       2             2       1           2           3
7       2             3       1           2           3
8       2             4       1           2           3
9       3             1       1           2           3
10     3             2       1           2           3
11     3             3       1           2           3
12     3             4       1           2           3
13     4             1       1           2           3
14     4             2       1           2           3
15     4             3       1           2           3
16     4             4       1           2           3
我想用一个update语句实现表中的相同pid的
aa为4的data1=aa为3的data1+aa为2的data1
请问这个语句怎么写?

[解决办法]
表t1
id pid aa data1 data2 data3
1 1 1 1 2 3
我想用一个update语句实现表中的相同pid的
aa为4的data1=aa为3的data1+aa为2的data1
请问这个语句怎么写?
-------------------------
update 表t1 set data1=X
from t1 a inner join t1 b on (a.pid=b.pid)
where a.aa=4 and data1=3 and aa=3

这是个思路,不过你表达的太不明白了.
[解决办法]
update t1
set data1=
(select data1 from t1 b where a.pid=b.pid and b.aa=2)+
(select data1 from t1 c where a.pid=c.pid and c.aa=3)
from t1 a
where aa=4

-- result
111123
212123
313123
414223
521123


622123
723123
824223
931123
1032123
1133123
1234223
1341123
1442123
1543123
1644223

热点排行