Какой самый простой способ выбрать строку, изменить пару столбцов и вставить ее в одну и ту же таблицу? Я пытаюсь вставить новую строку на основе другой.
Выбрать, изменить и вставить в ту же таблицу
Ответ 1
INSERT INTO table2 (column1, column2, column3)
SELECT column1, 'no', column3 FROM table2 WHERE column2 = 'yes'
Надеюсь, это немного яснее, как вы это делаете. Как вы можете видеть, я захватил два столбца из таблицы2, а для другого столбца я использовал текстовое значение вместо значения для столбца2.
Другие шаблоны, которые вы можете использовать:
Объедините столбец и другой текст (предположим, что столбец уже является строковым типом данных.
INSERT INTO table2 (column1, column2)
SELECT column1 + 'no', column2 FROM table2 WHERE column2 = 'yes'
Объедините столбец и некоторый текст. Один пример, где столбец является строкой, а другой - там, где это не так.
INSERT INTO table2 (column1, column2)
SELECT column1 + 'no', 'A' + cast(column2 as Varchar (10)) FROM table2 WHERE column2 = 'yes'
Ответ 2
INSERT INTO table(column1,column2) SELECT column1, const2 FROM table ...
В списке выбора, вероятно, будут смешаться скопированные столбцы (по имени) и измененные столбцы (по желаемым значениям).
Ответ 3
Сказать колонку int
INSERT INTO table(column1,column2) SELECT column1 + 1, column2 -1 FROM table
Вы можете размножать столбцы и выполнять строковые функции.