一张表里有几个字段 a b c d e
1 2 3 4 11
5 6 7 4 12
8 9 10 4 13
我要写一个SQL语句,要更新字段值,我要先条件语句,要搜索符合a=1,b=2,c=3的字段,符合要求后,根据d=4的要求把以上3条记录更新字段e的值不知道高手有什么办法呢??谢谢大家指教一二
1 2 3 4 11
5 6 7 4 12
8 9 10 4 13
我要写一个SQL语句,要更新字段值,我要先条件语句,要搜索符合a=1,b=2,c=3的字段,符合要求后,根据d=4的要求把以上3条记录更新字段e的值不知道高手有什么办法呢??谢谢大家指教一二
update table set e=value where a=1 and b=2 and c=3 and d=4?
还有a=1,b=2,c=3但d不是4的情况?
e的值更新要按照什么依据?
-------------------------------
1 2 3 4 11
--------------------------------
5 6 7 4 12
8 9 10 4 13
我要写一个SQL语句,要更新字段值, 我要先条件语句,要搜索符合a=1,b=2,c=3的字段,然后把3条记录的字段e的值更改一下 不知道高手有什么办法呢??谢谢大家指教一二
既然是要按条件更新,那么就不会更新所有记录的某个字段值。如果要更新所有记录的,那么就不要限制条件。 我帮你“翻译”一下,看楼主是不是这个意思? 找出符合条件a=1,b=2,c=3的记录的d和e字段的值,然后,根据该记录中d字段的值,如果其他记录中d字段值与之相同,则将其他记录中的e字段值改为该记录中e字段的值。 如果是这个意思的话,那么,需要执行不止一条语句:
create procedure P_Name
as
begin
Declare @d int, @e int
Select @d = d, @e = e From Table Where a = 1 and b = 2 and c = 3
Update Table Set e = @e Where d = @d
end说明:
1、上述过程取材于楼上的朋友。
2、上述过程假设目标数据库是MS SQL Server,且字段为int型
3、如果需要只执行一条语句,那么可以试试子查询的方式,不过我电脑上没有MSSQL,无法测试,就不再提供可能误导他人的语句了。呵呵