Witam, nie wiem jak sobie poradzić z tym zagadnieniem.
select A.id,inserted.id_lokal,inserted.numer_identyfikacyjny,B.status
into #Tabela_Nowa from inserted
left join A on (inserted.numer_identyfikacyjny = A.numer_stol)
left join B on (inserted.numer_identyfikacyjny=B.numer_identyfikacyjny)
left join C on (C.Id_gosc=A.id)
where A.usun=0
group by A.id,inserted.id_lokal,inserted.numer_identyfikacyjny,B.status;
update C set usun=0
from #Tabela_Nowa where idWarSp=#Tabela_Nowa.warunek
and Id_gosc=#Tabela_Nowa.Id_gosc and #Tabela_Nowa.warunek>0;
Tabela C posiada numery stołów obsługiwanych.
Kolumna usun posiada dwie wartości 1,0 które oznaczają odpowiednio stół nieobsłużony, stół obsłużony.
Na początku wszystkie stołu są nieobsłużone (posiadają wartość 1).
numer_identyfikacyjny to unikalny numer każdego stołu (Tabela C takiej kolumny nie posiada).
Powyższe zapytanie sprawi, że wszystkie stoły przy których siedzi określony klient stają się obsłużone - co mi nie odpowiada.
Klient może mieć 3 stoły, i nie każdy musi zostać obsłużony.
Jak zrobić zapytanie, które sprawi, że tylko konkretny stół zostanie obsłużony.
W tym zapytaniu wydaje mi się, że trzeba wpleść warunek numer_stołu.
Próbowałem i nie wychodziło...
Proszę o pomoc.