Обновить ту же таблицу, которая была выбрана, с вычисленными значениями, используя набор результатов - PullRequest
1 голос
/ 19 декабря 2011

Я новичок в sql (скриптинг). Одиночные команды CRUD не являются проблемой, но я пытаюсь создать хранимую процедуру, которая обновит таблицу с вычисленным значением, используя результаты из той же выбранной таблицы.

В таблице приведено значение с общим количеством часов отпуска для каждого сотрудника и значением оставшихся часов работы прошлого года.

Я постараюсь добиться добавления новых часов в этом году к оставшимся часам. Есть одна загвоздка. Новый столбец часов представляет собой целые часы, оставшиеся часы - это значение в «тиках», которое составляет сто наносекунд.

Как я могу обновить таблицу, используя ту же таблицу в качестве ссылки для этого расчета?

example table:
employee, vacation, remainingvacation

new value of remainigvacation = vacation(in hours) * 60(minutes) * 60(seconds) * 10^9 (to convert to ticks) + remainingvacation (in ticks)

1 Ответ

4 голосов
/ 19 декабря 2011
UPDATE
  myTable
SET
  remainingvacation = (vacation * 60 * 60 * POWER(10, 9)) + remainingvacation

Затем вы можете сделать то же самое после включения предложений JOINS и WHERE ...

UPDATE
  myTable
SET
  remainingvacation = (vacation * 60 * 60 * POWER(10, 9)) + remainingvacation
FROM
  myTable
INNER JOIN
  yourTable
    ON myTable.id = yourTable.id
WHERE
  yourTable.value = 'Egyptian Holidays'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...