Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

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





Grupa: Zarejestrowani
Postów: 1 874
Pomógł: 230
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

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 06:49