TSQL - dekrementacja pola w zależności od innych tabel

0

Witam. Chcę stworzyć instrukcję pokroju:

UPDATE dbo.Worker SET AvailableTokens = AvailableTokens - 1 WHERE dbo.ActiveTokens.WorkerId = @WorkerId AND dbo.ActiveTokens.TokenTypeId = @TokenTypeId

A zatem: mamy tabele pracowników i tabele bonów. Te dwie tabele tworzą relację many-to-many w tabeli aktywnych bonów. Instrukcję wyżej wykonujemy w momencie, w którym usuwamy jakiś rodzaj bonów, wtedy musimy w tabeli pracowników zdekrementować wartość aktywnych bonów u wszystkich tych, którzy byli przypisani do danego typu bonu. Pytanie: czy w powyższy sposób można odnosić się do pól z innych tabeli w momencie wywoływania zapytania? Aktualnie nie mam dostępu do bazy, więc nie mam jak tego sprawdzić.

1

Musisz zrobić joina

UPDATE dbo.Worker SET AvailableTokens = AvailableTokens - 1 
From dbo.Worker
Inner join dbo.ActiveTokens on dbo.Worker.workerid= dbo.acrivetokens.workerid
WHERE dbo.ActiveTokens.WorkerId = @WorkerId AND dbo.ActiveTokens.TokenTypeId = @TokenTypeId

1 użytkowników online, w tym zalogowanych: 0, gości: 1