Aktywne Wpisy
smutny_kojot +21
Tylko przypomnę blackpillowcom jak aktualnie wygląda narzeczony naszej księżniczki popu ( ͡° ͜ʖ ͡°)
#przegryw #blackpill #roksanawegiel #roxycarbon
#przegryw #blackpill #roksanawegiel #roxycarbon
WielkiNos +35
Lewaczka nie może przeboleć, że dziewczyna się zaręczyła jak jakaś staromodna wieśniara zamiast jeździć na karuzeli knag do 40 i być nowoczesną kobietą ( ͡º ͜ʖ͡º)
#logikarozowychpaskow #roksanawegiel #przemysleniazdupy
#logikarozowychpaskow #roksanawegiel #przemysleniazdupy
Aktywne Znaleziska
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Mam bazę danych z przepisami. Zawiera następujące tabele:
przepisy (tutaj jest treśc przepisu)
przepisyskładniki(zawiera dane o tym jaki przepis wymaga jakich składników)
składnikiuzytkownicy (zawiera dane o tym co kto ma w lodówce).
Teraz chciałbym zrobić zapytanie które sprawdzi czy user ma wymagane składniki do danego przepisu.
mam wyciągnięte wszystkie składniki które posiada użytkownik, ale jak daje warunek WHERE id_skladnik IN (tutaj zapytanie wyciagające składniki)
to wyrzuca mi i tak wszystkie przepisy, bo np ktoś ma 1 składnik do przepisu to już ten przepis zostaje wyświetlony.
Gdyby dało się porównać dwa zbiory danych. Tj składniki które wymaga przepis i składniki które ma użytkownik, to byłoby super.
#sql #microsoft #tsql #bazydanych #bazy
Bo skoro nie masz oddzielnej tabeli ze skłądnikami to po ID nie łączysz.
#!$%@?ąc od Twojego problemu, źle do tego podchodzisz, bo liczy się również ilość, a nie tylko fakt posiadania, czyli jak do ciasta potrzebnych jest 12 jajek a on ma w lodówce 6 to też nie jest ok.
jeżeli zwróci ci jakieś wiersze, to użytkownik nie ma wszystkich składników (konkretnie: w przepisie występują składniki, które nie mają odpowiedników w 'spiżarni' lub są w ilości mniejszej niż wymagana)
@singollo: Wielkie dzięki, przetestuje to do godziny :)
FROM przepisy AS P JOIN przepisy*składniki AS s ON p.id = s.id*przepisy LEFT JOIN przepisy*uzytkownicy AS u ON s.id*skladnika = u.id*skladnika AND s.ilosc <= u.ilosc
WHERE u.id*uzytkownika = :id*usera AND p.id = :id*przepisy
GROUP BY p.id
HAVING count(s.id) = count(u.id)