2017-02-08 3 views
0

У меня есть 4 стола.Можем ли мы обновить значения в таблице, используя условие if?

enter image description here

идентификаторы различны. Следовательно, в таблице 4 приведены данные для подключения обеих таблиц. Но между Таблицей 1 нет ни одной из этих трех таблиц.

Я должен проверить соответствие совпадений в таблице 2 и таблице 3. На имея результат сравнения, мне нужно udpate таблицу 1 с Pass/Fail

Для например: кол-табл.2 равна таблице 3.

+0

Вы бы лучше после того, что вы уже пробовали и что ваш ожидаемый результат. –

+1

Примеры данных и желаемые результаты действительно помогут объяснить, что вы хотите сделать. –

+0

Нажмите для изображения таблиц. Здесь есть 4 таблицы. Я хочу проверить соответствие совпадений в таблице 2 и таблице 3. Например, счет таблицы 2 равен таблице 3. Однако идентификаторы различны. Следовательно, в таблице 4 приведены данные для подключения обеих таблиц. По результатам сравнения. Я хочу обнять таблицу 1 с пропуском/неудачей –

ответ

2

Использование Joins Или IF EXISTS

UPDATE T1 SET checklist = 'SOMETHING' 
FROM TABLE1 T1 
INNER JOIN TABLE2 T2 ON T1.FIELDVALUE = T2.FIELDVALUE 
INNER JOIN TABLE3 T3 ON T1.FIELDVALUE = T3.FIELDVALUE 

ИЛИ

UPDATE TABLE1 SET checklist = 'SOMETHING' 
WHERE EXISTS(SELECT 1 FROM TABLE2 WHERE TABLE1.FIELDVALUE = TABLE2.FIELDVALUE) 
AND EXISTS(SELECT 1 FROM TABLE3 WHERE TABLE1.FIELDVALUE = TABLE3.FIELDVALUE) 

UPDATE: Из комментариев

enter image description here

IF EXISTS(
SELECT 1 
FROM TABLE4 T4 
INNER JOIN TABLE2 T2 ON T4.Identifier = T2.Identifier 
INNER JOIN TABLE3 T3 ON T4.Identifier_ = T3.Identifier2 
AND T2.COUNT <> T3.COUNT 
) 
BEGIN 
UPDATE TABLE1 SET RESULTS = 'Fail' 
END 
ELSE 
BEGIN 
UPDATE TABLE1 SET RESULTS = 'Pass' 
END 
+0

Спасибо, что помогли мне. Тем не менее, 2-я и 3-я таблица имеет общие значения для сравнения, а таблица 1 полностью не относится к этим двум таблицам. Но результаты сравнения должны быть обновлены в Таблице 1. –

+0

Это будет оставаться неясным до тех пор, пока вы не предоставите структуру таблиц, образцы данных и ожидаемый результат. Пожалуйста, отредактируйте свой вопрос @KrishnaTeja –

+0

[Нажмите для изображения таблиц] (https://i.stack.imgur.com/ayOdl.png). Здесь есть 4 таблицы. Я хочу проверить соответствие совпадений в таблице 2 и таблице 3. Например, счет таблицы 2 равен таблице 3. Однако идентификаторы различны. Следовательно, в таблице 4 приведены данные для подключения обеих таблиц. По результатам сравнения. Я хочу обанкротить таблицу 1 с помощью Pass/Fail и соответствующих комментариев. –

0
update one 
set one.assid = two.assid 
from tableone_name one 
inner join table_2 two on 
    one.id = two .udid 
inner join table_2 th on 
    one.id_1 = th .id_3 

Надежда, которая будет работать

Смежные вопросы