Вопрос о умножении столбцов в SQL
мне было интересно, можно ли умножить два столбца, и если да, то как это произойдет
Предположим у меня есть таблица
a b
1 4
2 5
3 6
могу ли я сделать что-то вроде
SELECT a *b from table
это умножит строку содержимого на строку, а затем сохранит ее в новом столбце
являются ли эти результаты правильными
4
10
18
3 ответов
этот запрос умножит значения, но он не будет "хранить его в новом столбце", чтобы сохранить его, вам придется выпустить инструкцию update.
предполагая, что вы добавите новый столбец ("c") в свою таблицу, вы можете сделать:
update table
set c = a * b
Если все, что вам нужно, это новый столбец в результирующем наборе, без изменения базовой таблицы можно:
select a, b, (a*b) as c from table
Да, вы можете прекрасно сделать это.
обновление
чтобы уточнить: запрос и вывод, которые вы упомянули в своем вопросе, верны.
вместо хранения вычисляемого столбца в базовой таблице рассмотрим просмотренную таблицу:
CREATE VIEW MyView
AS
SELECT a, b,
a * b AS my_calc
FROM MyTable;