Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Wyciąganie danych z trzech tabel...
Forum PHP.pl > Forum > Przedszkole
Elber
Witam, mam niemały problem. Chcę wyciągnąć konkretne dane z trzech tabel:

Pierwsza: products -> ma 2 pola ->products_id i products_image

Druga: products_description ->ma 3 pola -> products_id , language_id i products_name

Trzecia: products_to_categories -> ma 2 pola -> products_id i categories_id

I teraz chcę wylistować to w taki sposób:

products_id - products_image - products_name (gdzie language_id = 1 oraz gdzie categories_id = np.2 (to będzie zależne od $_GET))

Zatrzymałem się na:

  1. SELECT p.products_id, p.products_image, pd.products_id, pd.products_name, pd.language_id, p2c.products_id, p2c.categories_id FROM (products p, products_description pd, products_to_categories p2c)


I nie wiem jak to dalej ruszyć sad.gif
Daimos
JOIN
Elber
Hmm, czyli tak to ma być ? Czy inaczej ?

  1. SELECT p.products_id, p.products_image, pd.products_id AS product_id , pd.products_name AS product, pd.language_id, p2c.products_id, p2c.categories_id
  2. FROM products p LEFT JOIN products_to_categories p2c USING(products_id) LEFT JOIN products_description pd USING(products_id)
  3. WHERE pd.language_id = '1' AND p2c.categories_id = '".$_GET['cat_id']."' ORDER BY pd.products_name;


BO działać działa, ale czy jest to poprawne i optymalne zapytanie ? Czy można je ułożyć lepiej ?
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.