SQL Server:指向其他表中的ID

时间:2011-09-26 19:32:50

标签: sql pointers sql-update

我有两张桌子:( ID = int, Match = varchar, Status = char

表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)tableA)失败的地方填充match'FAIL'。 所以,我应该得到:

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

现在这很简单。我想放入status2,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。

由于

1 个答案:

答案 0 :(得分: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'