同一个表的行数据 UPDATE
示例:
    ID  单别  单号  金额  赋值金额  赋值单号   检索条件
    01  1     1     50                         2-2
    02  2     2     100     
    if 单别=LEFT(检索条件,1) and 单号=RIGHT(检索条件,2)
  BEGIN UPDATE 赋值金额= 金额,赋值单号=单别+'-'+单号    
  最后 result:
    ID  单别  单号  金额  赋值金额  赋值单号   检索条件
    01  1     1     50                         2-2
    02  2     2     100   50        1-1
    咋用UPDATE 实现这样的效果呢!
    谢谢!  
------解决方案--------------------
/*
示例:
 ID 单别 单号 金额 赋值金额 赋值单号 检索条件
 01 1 1 50 2-2
 02 2 2 100 
 if 单别=LEFT(检索条件,1) and 单号=RIGHT(检索条件,2)
  BEGIN UPDATE 赋值金额= 金额,赋值单号=单别+'-'+单号    
  最后 result:
 ID 单别 单号 金额 赋值金额 赋值单号 检索条件
 01 1 1 50 2-2
 02 2 2 100 50 1-1
 咋用UPDATE 实现这样的效果呢!
*/
if
OBJECT_ID('tbl')is not null
drop table tbl
go
create table tbl(
ID varchar(4),
单别 varchar(4),
单号 varchar(4),
金额 numeric(6,2),
赋值金额 numeric(6,2),
赋值单号 varchar(10),
检索条件 varchar(10)
)
go
insert tbl (ID,单别,单号,金额)
select '01','1','1',50
union all
select '02','2','2',100
update tbl
set 赋值金额=a.金额,赋值单号=a.单别+'-'+a.单号
from tbl a where a.ID=ID
/*
ID	单别	单号	金额	赋值金额	赋值单号	检索条件
01	1	1	50.00	50.00	1-1	NULL
02	2	2	100.00	100.00	2-2	NULL
*/
--楼主的条件不怎么明白,特别是检索条件是什么
------解决方案--------------------
SQL code
create table tb
(ID varchar(2),单别 int,单号 int,金额 int,
赋值金额 varchar(3),赋值单号 varchar(4),检索条件 varchar(4))
insert into tb
select '01',1,1,50,null,null,'2-2' union all
select '02',2,2,100,null,null,null
update a set 赋值金额=b.金额,赋值单号=ltrim(b.单别)+'-'+ltrim(b.单号)
from tb a left join tb b 
on left(b.检索条件,1)=a.单别 and right(b.检索条件,1)=a.单号
select * from tb
/*
ID   单别          单号          金额          赋值金额 赋值单号 检索条件
---- ----------- ----------- ----------- ---- ---- ----
01   1           1           50          NULL NULL 2-2
02   2           2           100         50   1-1  NULL
*/