Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrócenie zapytania SQL, czyli "dynamiczna" obsługa podzapytań
Tomplus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 884
Pomógł: 231
Dołączył: 20.03.2005
Skąd: Będzin

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


Mam zapytanie następujące:
  1. SELECT
  2. t.`symbol_id`, t.`price`, t.`stock`,
  3. a.`wartosc` masa, b.`wartosc` kolor, c.`wartosc` material
  4. FROM `towary` t
  5. LEFT JOIN `atrybuty` a ON a.`towar_id` = t.`id` AND a.`atrybut_id` = 1
  6. LEFT JOIN `atrybuty` b ON b.`towar_id` = t.`id` AND b.`atrybut_id` = 2
  7. LEFT JOIN `atrybuty` c ON c.`towar_id` = t.`id` AND c.`atrybut_id` = 3
  8. WHERE t.`product_id` = ?
  9. ORDER BY t.`symbol_id` ASC


Zapytanie jest poprawne, znaczy wyświetla to co oczekuje, tak jak oczekuję. Na tą chwilę.
Jednak nie podoba mi się forma przedstawienia dołączeń do atrybutów, czyli wiele LEFT JOINów do tej samej tabeli.

Chciałbym się dowiedzieć czy jest jakieś inne rozwiązanie, które skróciloby takie zapytanie, bo jeżeli w przyszłości dotarłyby kolejne atrybuty, to należałoby rozszerzyć zapytanie o kolejnego LEFTa, a chciałbym tego uniknąć.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Najwygodniej to pobrać produkt, potem pobrać wszystkie properties do niego i tyle. 2 zapytania (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 01:34