Nie mam pomysłu jak napisać pewną sql'kę w Oracle SQL
Załóżmy że mam projekt sklepu gdzie mam przechowywane statusy zamówienia.
nr zamowienia | nazwa_statusu | data 12 | zamowiono | jakas data 12 | zwrocono| NULL 12 | oplacono | jakas data 12 | wyslano| NULL Chciałbym napisać logikę/flagę która brałaby pod uwagę niejako stany poprzednich rekordów, czyli np. "wybierze zamówienia, które dla 'nazwa statusu'= zamówiono ma date w kolumnie data, a
@Meteor100: od biedy możesz zrobić (o ile się nie mylę) joina tabeli do siebie po numerze zamówienia
SELECT o1.numer FROM orders o1 JOIN orders o2 ON o1.numer = o2.numer WHERE (o1.status = 'x' AND o1.data IS NULL) && (o2.status = 'y' AND o2.data IS NOT NULL)
Załóżmy że mam projekt sklepu gdzie mam przechowywane statusy zamówienia.
nr zamowienia | nazwa_statusu | data
12 | zamowiono | jakas data
12 | zwrocono| NULL
12 | oplacono | jakas data
12 | wyslano| NULL
Chciałbym napisać logikę/flagę która brałaby pod uwagę niejako stany poprzednich rekordów, czyli np. "wybierze zamówienia, które dla 'nazwa statusu'= zamówiono ma date w kolumnie data, a
SELECT o1.numer
FROM orders o1
JOIN orders o2 ON o1.numer = o2.numer
WHERE
(o1.status = 'x' AND o1.data IS NULL) && (o2.status = 'y' AND o2.data IS NOT NULL)