Как я могу написать запрос таким образом, чтобы результат оператора CASE WHEN был адаптирован к каждой строке. Так что в каждой строке результат будет 5. Большое спасибо!Адаптировать результат одной строки к другим строкам
CREATE TABLE DATA
(`Person` CHAR(4),
`Apples` INT(1),
`Tomatoes` INT(1),
`Result` INT(1)
);
INSERT INTO DATA
(Person, Apples, Tomatoes)
VALUES ('Mark' , 1, 2),
('Sepp', 2, 3),
('Carl', 3, 1);
UPDATE DATA
SET `Result` = CASE WHEN (`Person` = 'Sepp') THEN (`Apples` + `Tomatoes`) END;
Table of result as it should be
Я бы выбрал 'UPDATE DATA SET Result = 5'. Вы хотите, чтобы каждый столбец имел фиксированное значение, поэтому нет необходимости в сложных правилах. –
@LelioFaieta. Я не думаю, что 5 представляет фиксированное значение, а скорее результат добавления яблок Sepops и томатов. – jpw
@jpw Я согласен. Но если вы видите желаемый результат, это всегда 5, а результат на строку никогда не будет 5. –