Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanko z podzapytaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
mokry
Na początku zapytanie MySQL:
  1. SELECT *,
  2.  
  3. (SELECT COUNT(*) FROM furnitures WHERE furnitures.furniture_cat_id = cat_id) AS ile_produktow,
  4.  
  5. (SELECT furnitures.*, (SELECT img_src FROM imgs WHERE imgs.img_furniture_id = furnitures.furniture_id LIMIT 1 ) AS furniture_img
  6. FROM furnitures ORDER BY furnitures.furniture_id DESC) AS cat_last_img
  7.  
  8. FROM cats ORDER BY cat_name ASC


I teraz małe pytanie związane z zapytaniem.
MySQL zwraca mi błąd Operand should contain 1 column(s), co w sumie jest logiczne, bo teraz zwraca 2 kolumny, ale chciałbym aby zwrócił mi tylko jedną z podzapytania podzapytania czyli z tabeli imgs.

Pozdrawiam,
Michał.
gutek84
  1. SELECT *,
  2.  
  3. (SELECT COUNT(*) FROM furnitures WHERE furnitures.furniture_cat_id = cat_id) AS ile_produktow,
  4.  
  5.  
  6. [b](SELECT kolumna1 FROM furnitures LIMIT 1 albo warunek) AS kolumna1,
  7. [/b][b](SELECT kolumna2 FROM furnitures) AS kolumna2,
  8. [/b][b](SELECT kolumna_n FROM furnitures) AS kolumna_n,[/b][b]
  9. [/b][b]
  10. [/b]
  11.  
  12. (SELECT img_src FROM imgs, furnitures WHERE imgs.img_furniture_id = furnitures.furniture_id LIMIT 1 ) AS furniture_img
  13.  
  14. FROM cats ORDER BY cat_name ASC


dla kolumna1, kolumna2 ... musisz dodac jeszcze warunek, poniewaz podzapytanie nie moze zwracac wiecej niz jednego rekordu! np. poprzez limit 1
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.