Пожалуйста, помогите с инструкцией if
в MySQL 5.5. Я пытаюсь сравнить значения столбцов, чтобы увидеть, все ли они одинаковые или разные.Сравнение нескольких столбцов с использованием IF в MySQL
SELECT IF(Column1 = Column2 = Column3 = Column4 = Column5, 'SAME', 'Different')
AS ValueStatus
FROM dbs.tabletest
GROUP BY Id
Я также попытался следующие, однако, это приносит только один результат типа как «Different», даже если все столбцы имеют одинаковые значения.
SELECT *,CASE
WHEN Column1 = Column2 = Column3 = Column4 = Column5
Then 'Same'
ELSE 'Different'
END
AS ValueStatus
FROM dbs.tabletest
GROUP BY Id;
Не могли бы вы также помочь в том, как обрабатывать/игнорировать/отфильтровывать значения NULL из этих столбцов и сравнивать только с NOT NULL, некоторые столбцы имеют значения NULL, которые изменяют статус на разные, хотя все NOT NULL являются одинаковыми значения. Спасибо –
Добавление Col 1 или COL 2 или COL 3 'NOT NULL' in Where не дает правильных результатов. Где все значения Null, несущие столбцы, игнорируются, необходимо отслеживать NULLS, но хотите, чтобы их игнорировали при сравнении равенства только NON NULL COLUMNS –
Не добавляйте его в предложение where. Либо измените ваш оператор IF, либо перейдите в оператор CASE, который может быть немного легче следовать. –