-1

Предполагая основную таблица имеет 10 столбцов со Amount колонками, которая должна быть обновлена, образует вторую таблицу, DepositTable с deposit колонкомВозвращаясь суммой в одной таблице в одной строке из серии записей на USER_ID

  1. Идентификатор MainTable равен titheID и является уникальным, следовательно, допускается использование нескольких одинаковых значений.

  2. DepositTable может иметь одинаковые titheID в нескольких строках, следующих за различными датами депозита.

  3. Я попытался

    SELECT titheID, SUM(deposit) 
    FROM DepositTable 
    GROUP BY titheID 
    

    и он работал на DepositTable, но как обновить столбец MainTable Сумма с результатами для каждого titheID, моя загадка.

Из-за уникального состояния идентификатора десятины в MainTable оно выбрасывает исключение Constraints.

Пожалуйста, помогите

+0

Вы хотите только «обновить» основную таблицу или «вставить» отсутствующий 'titheID'? – ughai

+0

Зачем вам группироваться на титэйде, считая его уникальным? – kskyriacou

+0

Какое конкретное сообщение об ошибке? – jswan

ответ

0

Если я правильно понял, you'rre ищет somethinglike:

UPDATE MT 
SET MT.Amount = Sec.Total 
FROM MaiTable MT INNER JOIN (SELECT titheID, SUM(deposit) Total FROM DepositTable GROUP BY titheID) Sec ON MT.titheID = Sec.titheID 

Я прав?

+0

Спасибо @ Симон за то, что напомнил мне то, что я давно забыл. Я видел ошибку в моей переменной MT.Amount = sec.Total; Я изменил это на sec.Amount, и это сработало –

+0

Я рад, что помог, и если он сработал, отметьте его как ответ :) – Simone

+0

Я только что опубликовал еще одну проблему: чтение данных в форму из столбцов таблицы, редактирования и обновление также на основе user_ID –

Смежные вопросы