我有两张桌子:( 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。
由于
答案 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'