#teradata
#teradata
Вопрос:
Текущая инструкция обновления
UPDATE Table1 t1
SET column1 = 1
WHERE not EXISTS
( SELECT 1 FROM Table2 t2
WHERE t2.column2= t1.column2
AND t2.column1 = 0
)
AND t1.column2 > 0
AND t1.column1 = 0
Приведенный выше оператор обновления подходит, если у меня есть значение 0 в столбце 1 таблицы t2. Но у меня есть особый сценарий, в котором моя таблица Table t2 имеет значения 0 и 1 для столбца 1. В этом случае обновления не должно быть. В одном операторе я должен справиться с обеими ситуациями.
Сценарий 1: обновление только в том случае, если столбец 1 в таблице t2 имеет значение 0
Сценарий 2: обновление не выполняется, если I столбец 1 в таблице t2 имеет значение как 0, так и 1
Не могли бы вы помочь мне в этом.
Комментарии:
1. Я не понимаю, чего вы точно хотите, но вам, вероятно, нужно добавить еще один
(NOT) EXISTS
2. вы говорите, что таблица t2 имеет два значения в столбцах 1, 0 и 1, и когда это так, вы не хотите, чтобы обновление происходило?
3. ДА.. всякий раз, когда в моей таблице t2 есть два значения в столбцах 1, 0 и 1, обновления не должно быть. Обновляйте, только если в таблице t2 значение в столбце 1 равно 0.
4. Чтобы добавить примечание, столбец 1 в таблице t2 всегда будет иметь только два значения, т.е. 1 и 0.It представляет собой столбец индикаторов.