2011-09-26 32 views
1

的ID我有两个表:(ID = int, Match = varchar, Status = charSQL服务器:指向其他表

表A

ID1 Match1 Status1 
23 1200 PASS 
24 1300 FAIL 
25 1400 PASS 
26 1500 PASS 
27 1600 FAIL 

表B

ID2 Match2 Status2 
456 1200 
784 1300 
457 1300 
124 1400 
741 1600 

现在,我想填写tableB (status2)与'失败'在tableAmatch)。我应该得到:

TableB 
ID2 Match2 Status2 
456 1200 NULL 
784 1300 FAIL 
457 1300 FAIL 
124 1400 NULL 
741 1600 FAIL 

现在这很简单。我希望把状态2,ID1造成的失败,因此预期的结果将是:

TableB 
ID2 Match2 Status2 
456 1200 NULL 
784 1300 FAIL of ID 24 
457 1300 FAIL of ID 24 
124 1400 NULL 
741 1600 FAIL of ID 27 

我目前使用的简单的更新语句如下:

update B 
set status2 = 'Fail' 
from tableB B 
Inner join tableA A 
on a.match1 = b.match2 
where a.status1 = 'FAIL' 

请更正指向ID1 。

感谢

回答

3
update B 
set status2 = 'Fail of ID ' + CAST(A.ID1 AS VARCHAR(4)) 
from tableB B 
Inner join tableA A 
on a.match1 = b.match2 
where a.status1 = 'FAIL' 
相关问题