Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: podzapytanie - scalanie zwracanych wartości
Forum PHP.pl > Forum > Bazy danych > MySQL
lol
Witam,
mam problem z takim zapytaniem:

  1. SELECT id, name, (
  2.  
  3. SELECT kat_id
  4. FROM kat AS T2
  5. WHERE T1.id = T2.id
  6.  
  7. ) AS 'aaaaa'
  8. FROM prod AS T1


wszystko działa w porządku do momentu kiedy podzapytanie zwraca więcej niż jeden wynik. Wtedy wyskakuje błąd:
  1. Subquery returns more than 1 row



Próbowałem już z użyciem trzech podzapytań i zwracaniem przez nich wartości MIN, MAX, a potem w głównym zapytaniu łączyłem je CONCAT'em, ale to niezbyt dobry sposób.

Istnieje jakieś inne rozwiązanie tego problemu ? W jaki sposób można scalić zwracany wynik przez podzapytanie, aby pole 'aaaaa' zawierało, np:
  1. 123 124 127


(te 3 liczby to zwrócony wynik podzapytania)


Pozdrawiam
tehn
może coś takiego...


Kod
select prod.id, prod.name from prod left join kat on kat.id = prod.id
AxZx
  1. SELECT t1.id, name, group_CONCAT(DISTINCT t2.kat_id SEPARATOR ', ') AS 'aaaaa'
  2. FROM prod AS t1
  3. LEFT JOIN kat AS t2 ON(t1.id = t2.id)
  4. GROUP BY t1.id

dopracuj to sobie:)
lol
wielkie dzieki AxZx. Wszystko teraz działa jak należy.


Pozdrawiam
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-2025 Invision Power Services, Inc.