Инструкция обновления Teradat

#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 представляет собой столбец индикаторов.