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
 
Start new topic
Odpowiedzi (1 - 1)
gothye
post
Post #2





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


odp.

  1. GROUP BY id_gra
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 - 21:58