Справка по синтаксису SQL

#sql #sql-server #syntax

#sql #sql-сервер #синтаксис

Вопрос:

Каким был бы синтаксис SQL для выбора 4 разных столбцов в одной строке таблицы, сложения их вместе, а затем вставки этого значения в 5-й другой столбец в той же строке? Все столбцы являются числовыми (11,2).

Например, имя таблицы — DataCheck, есть идентификатор, который является первичным ключом, так как мне выбрать col1, col2, col3, col4, где ID = 232 … и т.д., И сложить их, и вставить в col4, где id = 232 … и т.д.

Комментарии:

1. Вы пытаетесь обновить 5-й столбец в таблице или просто возвращаете 5-й вычисляемый столбец в результате вашего запроса?

2. Как правило, вы не хотите сохранять вычисленные значения. Вам нужно будет обновлять сохраненное вычисленное итоговое значение всякий раз, когда изменяется значение одного из операндов.

Ответ №1:

Если я не недопонимаю:

 UPDATE MyTable SET col5 = col1   col2   col3   col4 WHERE id = 232
  

Ответ №2:

Errr….it не становится намного проще очевидного:

 update myTable
set column5 = column1
              column2
              column3
              column4
              column5
where <some-where-clause>
  

Ответ №3:

Почему вы сохраняете вычисленное значение в той же строке?

Как правило, вы не должны хранить одни и те же данные дважды (в столбцах 1,2,3,4 и столбце 5). Если каким-то образом они не равны, как вы узнаете, какой столбец правильный?

Ответ №4:

Полное предположение — но работает ли это?

ОБНОВИТЬ НАБОР данных ДЛЯ проверки col5=(col1 col2 col3 col4)

Ответ №5:

Эта инструкция update должна решить вашу проблему.

 update table set col5 = col4   col3   col2   col1
  

Комментарии:

1. если вы хотите обновить все строки, вам не нужно делать это строка за строкой с идентификатором