Witam.
Mam taki problem. Dla przykladu podam podstawowe kolumny.
Sa zamowienia i do kazdego zamowienia moga byc jakies pozycje zamowienie
Mam dwie tabele
TABELA: zamowienia
id,status
1 , false
2 , false
3 , true
Poniezej jest tabela z pozycjami do zamowienia
TABELA pozycje_zamowienia
id,id_zamowienia,status
1 , 1, true
2 , 1, true
3 , 1 true
4 , 2 true
5 , 2 true
7 , 3 true
7 , 3 true
TRUE oznacza ze dana pozycja jest zamknieta
FALSE oznacza ze dana pozycja jest otwarta
i teraz tak na gridzie z bazy danych mam tak:
zamowienie 1: OTWARTE
pozycje: 1 - zamknieta
pozycja: 2 - zamknieta
pozycja: 3 - zamknieta
zamowienie 2: OTWARTE
pozycja: 1 - zamknieta
pozycja: 2 - zamknieta
zamowienie 3: ZAMKNIETE
pozycja: 1 - zamknieta
pozycja: 2 - zamknieta
I teraz nie wiem jak skonsturowac zapytanie ktore sprawdzi mi
SELECT (wybierz wszystkie zamowienia otwarte dla kazdego z nich
wybierz pozycje zamowienia i jesli wszytskie pozycje danego zamowienia
sa ZAMKNIETE to zaznacz zeby cale zamowienie tez ZAMKNAC)
FROM zamowienia
JOIN pozycje
WHERE statsu zamowienia = OTWARTE
Myslalem zeby zastosowac np funkcje moze
dac funkcje co by zwracala true jesli dla danego zamowienia wszytskie
pozycje bede true i dac false w przypadku gdy tylko jedna chociaz bedzie false
wtedy dac moze SELECT id , CASE CZY_SA_ZAMKNIETE(id_zamowienia) WHEN true THEN UPDATE status = CLOSE WHERE id = id_obecnego_zamowienia_wybranego_z_select END tylko nie wiem jak zrobic te funkcje