![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Witam,
do tej pory zajmowałem się prostymi zapytaniami, ale aktualny projekt z uwagi na strukturę drzewa (drzewo IP) wymusił zgłębienie tajników składni SQL. Analizując dokumentację MySQL'a stworzyłem takie oto zapytanie:
zwraca ono w jednym wierszu poddzielane przecinkiem wszystkie id kategorii, które są głebiej niż zadeklarowana w zapytaniu (o id 4) W odpowiedzi dostaję to czego się spodziewam: "20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 4" Teraz drugie zapytanie, które pobiera wszystkie produkty przypisane do tych kategorii
W rezultacie dostaję rekordy z nazwami produktów. Niestety problem zaczyna się z chwilą połaczenia tych dwóch zapytań:
Dostaję 0 rekordów. Dlaczego? Nie mogę znaleźć przyczyny tego stanu rzeczy. Według mnie powinienem dostać identyczną odpowiedź. Oczywiście mogę wysłać te zapytania oddzielnie i obrabiać wszystko w PHP, ale wolałbym jednym zapytaniem załatwić "konwersję" danych po stronie serwera mysql. Jakieś sugestie? Będę wdzięczny. -------------------- r.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
podzapytanie uzywane do IN nie moze zwracac tekstu skladającego sie z id oddzielonych przecinkiem. Zapytanie to musi zwrocic po kolei wszystkie te ID jako nowe rekordy. Wowczas dopiero będzie ci to dzialac z IN.
To ze ty do IN bez podzapytania dajesz 1,2,3,4.... to zupelnie inna bajka -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, to nawet znacząco uprościło moje zapytanie.
Sądziłem właśnie że do IN, muszę podać dane dokładnie w takiej samej formie jak to robię ręcznę. A jednak nie ![]() -------------------- r.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:18 |