SQL Server: указание на идентификатор из другой таблицы - PullRequest
1 голос
/ 26 сентября 2011

У меня есть две таблицы: (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) значением «FAIL» в случае сбоя в tableA (match).Итак, я должен получить:

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 Ответ

3 голосов
/ 26 сентября 2011
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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...