2015-04-15 2 views
0

Удивление, если кто-нибудь может указать мне в правильном направлении, пожалуйста.Обновление SQL - использование нескольких табличных объединений

У меня есть 3 таблицы ...

Таблица A - код, Cost1, Cost2, Cost3

Таблица B - код, ID

Таблица C - ID, Цена

В основном мне нужно обновите поле цены в таблице C с помощью (Cost1 + Cost2 + Cost3) из таблицы A. Прямой связи между двумя таблицами нет, но A связан с B по коду, а B связан с идентификатором C по ID.

Я могу написать запрос для отображения цены и общей стоимости, но не могу понять, как сделать обновление.

Любые указатели были бы очень радушны

Благодаря Эндрю

+1

обновление c набор выберите группу сумм и т. Д. – jarlh

ответ

3
UPDATE TC 
SET Price=(TA.Cost1+TA.Cost2+TA.Cost3) 
FROM TableA TA 
INNER JOIN TableB TB ON TA.Code=TB.Code 
INNER JOIN TableC TC ON TC.ID=TB.ID 

Я предпочитаю писать мои более сложных соединений из первой, а затем просто обновить псевдоним. Как вы можете видеть в этом примере, вы можете прокомментировать две верхние строки и просто ввести SELECT TC.ID, TA.Cost1 + TA.Cost2 + TA.Cost3 и посмотреть, что именно изменится.

+0

Thats great thank you – Andrew

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