Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Usuwanie powtarzających się wyników
dr revuu
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


Mam następujący kod:

  1. SELECT tytul, opis, r_gra, id_gatunek, data_prem, r_prem, id_gra_firma, r_prodwyd, nazwa
  2. FROM dupa_gra
  3. LEFT OUTER JOIN `dupa_gra_gatunek`
  4. USING ( id_gra )
  5. LEFT OUTER JOIN `dupa_gra_prem`
  6. USING ( id_gra )
  7. LEFT OUTER JOIN `dupa_gra_prodwyd`
  8. USING ( id_gra )
  9. LEFT OUTER JOIN `dupa_gra_firma`
  10. USING ( id_gra_firma )


Wyszukiwanie określonej gry działa dobrze. Jednak mam problemy z wynikami.

Tabele "gra_prem" i "gra_prodwyd" mogą mieć więcej niż jeden wiersz spełniający kryteria łączenia (id_gra). A skoro wynikiem łączenia jest iloczyn kartezjański, to każdy kolejny wiersz w "gra_prem" i "gra_prodwyd" zwielokratnia mi wiersze w wynikach, jednocześnie dublując już wyszukane dane (tytul, opis, id_gatunek).

Pytanie 1: Czy da się tego w jakiś sposób uniknąć?

Pytanie 2: Stwierdziłem, że pobierając dane do wyświetlenia odnośnie jednego obiektu (w tym wypadku gra) lepiej zrobić jedno zapytanie. Ale wolę się upewnić... Czy lepiej dla tych powtarzających się wyników w tych samych tabelach zrobić oddzielne zapytania?

Mam nadzieję, że struktura bazy nie jest potrzebna, ale w razie co wkleję.

Pozdrawiam.
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 Aktualny czas: 19.08.2025 - 23:56