Filtrowanie danych w perspektywie

0

Nie wiem nawet jak ten temat nazwać. Załóżmy że mam tabelę produkty:

id id_przedmiotu ilosc
1 323 (mleko) 3
2 100 (salceson) 20
3 323 (mleko) 6

Później są widoki (perspektywy?) typu: produkty_napoje, produkty_jedzenie itp. Pokazują się w nich odpowiednie dane, robią jakby za "kategorie". Na koniec muszę walnąć widok (perspektywę), który wyświetli z tabeli produkty wszystkie dane których nie ma w żadnym innym widoku. Czyli dane które są w tabeli produkty, ale w produkty_napoje, ani w produkty_jedzenie ich nie ma - niesklasyfikowane. Jak to zrobić? Po katowaniu jednej mikroskopijnej części projektu przez kilka dni jestem totalnie wypruty... Wiem że może zaczynam z d**y strony, ale wygląd bazy jest narzucony z góry, więc nic poza widokami nie można dodać, anyway kategorii nie jest dużo.

0

W taki sam sposób w jaki rozpoznajesz, że dany produkt ma się znaleźć w widoku z napojami.

0

I w tym miejscu właśnie problem. Ilość rodzajów produktów jest niewielka, a nasiedziałem się sporo, więc tymczasowo zastosowałem po prostu warunki typu:

WHERE (id > 1 AND id < 4) OR id = 8

Ale w przypadku kiedy coś zmienie, muszę aktualizować i widok "inne" i widok z napojami. Chcę chociaż odrobinę DRY ;P

0

ty, ale po co ci tyle salcesonu? bo mleko to rozumiem ze do płatków :)

ale, jak pytal Adam, skad wiesz ze napoj, to napoj? etc.
w strukturze bazy nie mozesz nic zmienic, a czy mozesz dodac pomocnicze tabele?
hmmm jakas osobliwa ta tabela produkty
czy id_produktu to jest tylko liczba, a to w nawiasie dodales orientacyjnie, czy tak wlasnie wygladaja dane w bazie?
jesli tylko liczba, to skad wiesz jak sie nazwywa produkt o id 323?
moze troche dokladniej pokaz nam strukture bazy, bo po tym malym fragmencie troche kiepsko mi sie wróży

0

Nawiasy dopisałem, żeby bardziej obrazowo było. Nazwy wyciągam joinując z tabeli z rodzajami produktów.

0

no to albo dodasz sobie pomocnicza tabele, gdzie bedziesz mial kategorie jakie ci potrzeba i przyporzadkowane do nich produkty, albo tak jak masz teraz hardcode z id produktow, co wiemy czym skutkuje

0

Dlaczego nie możesz ingerować w strukturę tabel, jeżeli jest ona ewidentnie zła? Taka zabawa z ID woła o pomstę do nieba.

0

@Demonical Monk ale skąd WIDOK wie, co jest co?? Po czymś to musi rozróżniać! Podaj DDL któregokolwiek z widoków

BTW
zawsze możesz zrobić where id not in (widok) :)

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