Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Modyfikacja kwerendy z możliwością filtrowania przepisów
Forum PHP.pl > Forum > Bazy danych
adus97
Dobry wieczór,

Czy powyższą kwerendę można zmodyfikować w taki sposób aby wyświetlała ona również przepis mimo brakującego składnika?

SELECT *, IF(SUM(exist IS NULL), NULL, SUM(exist)) AS total FROM( SELECT p.Nazwa, p.obrazek, p.id,IF(ps.skladniki_id IN('372,258,209'),1,NULL)AS exist FROM przepisy AS p INNER JOIN przepisy_skladniki AS ps ON ps.przepisy_id=p.id) AS tmp GROUP BY id HAVING total






Proszę o pomoc, dziękuję smile.gif
Pyton_000
Najszybciej zmienić IN na ANY i już będziesz miał przepisy które zawierają którykolwiek składnik
adus97
Niestety zmiana w kwerendzie z IN na ANY nic nie pomogła a ba wyskakuje informacja, ze kwerenda jest źle sformułowana

  1. SELECT *, IF(SUM(exist IS NULL), NULL, SUM(exist)) AS total FROM( SELECT p.Nazwa, p.obrazek, p.id,IF(ps.skladniki_id ANY('372,258,209'),1,NULL)AS exist FROM przepisy AS p INNER JOIN przepisy_skladniki AS ps ON ps.przepisy_id=p.id) AS tmp GROUP BY id HAVING total
LowiczakPL
Cytat(adus97 @ 25.12.2020, 20:06:07 ) *
Czy powyższą kwerendę można zmodyfikować w taki sposób aby wyświetlała ona również przepis mimo brakującego składnika?


Czyli nie interesuje cię czy zawiera wszystkie składniki tylko czy zawiera jakikolwiek ze składników, jeśli zawiera choć 1 to pobierasz przepis, no i sobie sumujesz ilość zawieranych składników tak?
adus97
Cytat(LowiczakPL @ 31.12.2020, 08:46:42 ) *
Czyli nie interesuje cię czy zawiera wszystkie składniki tylko czy zawiera jakikolwiek ze składników, jeśli zawiera choć 1 to pobierasz przepis, no i sobie sumujesz ilość zawieranych składników tak?


Kwerenda zawierająca wszystkie składniki jest już stworzona:
  1. SELECT *, IF(SUM(exist IS NULL), NULL, SUM(exist)) AS total FROM( SELECT p.Nazwa, p.obrazek, p.id,IF(ps.skladniki_id IN('372,258,209'),1,NULL)AS exist FROM przepisy AS p INNER JOIN przepisy_skladniki AS ps ON ps.przepisy_id=p.id) AS tmp GROUP BY id HAVING total


Chcę stworzyć kwerendę, która uwzględnia oba te kwestie
a) wyświetlanie przepisu zawierającego wszystkie składniki
cool.gif wyświetlanie przepisu mimo zawartych wszystkich do niego składników

Nie wiem czy jest to w ogóle fizyczne do wykonania. Baza prezentuje się w następujący sposób:

https://pastebin.com/raw/ejG9XrzR
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.