Вопрос о умножении столбцов в SQL - PullRequest
6 голосов
/ 29 марта 2011

Мне было интересно, можно ли умножить два столбца, и если да, то как это будет происходить

Предположим, у меня есть стол

a    b
1    4
2    5
3    6

Могу ли я сделать что-то вроде

SELECT a *b from table

Будет ли это умножать содержимое строка за строкой, а затем сохраняться в новом столбце

Правильны ли эти результаты

4
10
18

Ответы [ 3 ]

13 голосов
/ 29 марта 2011

Этот запрос умножил бы значения, но он не "сохранил бы его в новом столбце". Чтобы сохранить его, вы должны выполнить оператор обновления.

Предполагая, что вы добавите новый столбец ("c") в свою таблицу, вы можете сделать:

update table 
  set c = a * b

Если все, что вам нужно, это новый столбец в наборе результатов, без изменения базовой таблицы вы можете:

select a, b, (a*b) as c from table
1 голос
/ 29 марта 2011

Да, вы можете прекрасно это сделать.

обновление

Чтобы уточнить: запрос и вывод, упомянутые в вашем вопросе, верны.

0 голосов
/ 29 марта 2011

Вместо сохранения вычисляемого столбца в базовой таблице рассмотрим просматриваемую таблицу:

CREATE VIEW MyView
AS
SELECT a, b, 
       a * b AS my_calc
  FROM MyTable;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...