Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Wyciąganie danych z trzech tabel...
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

Ostrzeżenie: (0%)
-----


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ć (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


JOIN
Go to the top of the page
+Quote Post
Elber
post
Post #3





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

Ostrzeżenie: (0%)
-----


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 ?

Ten post edytował Elber 22.07.2011, 11:32:18
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:50