В SQL (любой вариант вам нравится, скажем, MySQL или MonetDB) это очень интуитивным и простым сделать:Как добавить результат SELECT в качестве нового столбца в существующей таблице?
CREATE TABLE t2 AS SELECT c1 FROM t1;
и получить результат выбора в качестве нового столбца в новую таблицу. Но что, если вы хотите получить результат в качестве нового столбца в таблице такой же таблицы (таблица t1
)? Предположим, что c1
имеет тип INT
и может быть пустым. Мы должны были бы написать:
ALTER TABLE t1 ADD c2 INT;
UPDATE TABLE t1 SET c2 = c1;
и это легко версия, так как если это не нулевой столбец мы должны инициализировать новый столбец с некоторым значением; и если данные поступают из нескольких таблиц, мне нужен какой-то внутренний запрос в UPDATE
(если бы это было возможно).
Могу ли я выбрать-в-столбце с помощью одной команды?
Но у меня нет 't2'. У меня только 't1'. Я хочу избежать создания 't2'. – einpoklum