2012-06-13 3 views
2

Я хочу, чтобы сравнить столбец в таблицу А и таблицу бсравнить 2 колонки из 2 разных таблиц и обновить столбец

Если значение из таблицы а можно найти в таблице б, то я хочу обновить еще один столбец в таблице a с «да», и если ее не найти, я хочу сказать «нет». Это то, что я до сих пор:

UPDATE a 
set 
[CCA Match Org] = CASE WHEN b.[serial] = a.[CSI] THEN 'yes' ELSE 'no' END 

Моя ошибка в данный момент говорит:

Колонном префикс «Ъ» не совпадает с именем таблицы или псевдонима, используемого в запросе.

+2

Как относятся таблицы a и b? –

ответ

6

Предполагая, что объединение на b.[serial] = a.[CSI]:

UPDATE a 
SET [CCA Match Org] = CASE WHEN b.[serial] IS NOT NULL 
    THEN 'yes' ELSE 'no' END 
FROM a LEFT OUTER JOIN b 
ON b.[serial] = a.[CSI]; 
+0

Это сработало отлично. спасибо – kev670

0

Это быстрый пример, не уверен, что если он будет работать в вашем случае, потому что вы даете нам вратаря больше информации о таблице структур.

UPDATE a SET col='Yes' WHERE a.id IN (SELECT a.id FROM a JOIN b ON a.CSI = b.serial) 
Смежные вопросы