Sql nie powtarzanie się wyników

Sql nie powtarzanie się wyników
11
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Witam, mam 3 tabele
kategorie składającą się z: k_id; nazwa;
kpunkty składającą się z: id; punkt; kategoria (do jednego punktu może być przypisane kilka kategorii)
i tabele punkty składająca się z: id; nazwa

Moje zapytanie to:
(SELECT *
FROM kategorie
INNER JOIN kpunty ON
kpunkty.k_id =kpunkty.kategoria
INNER JOIN punkty ON
kpunkty.punkt = punkty.id)

I teraz chciałbym aby tabela wyświetliła mi punkty spełniające wymagania bez powtarzania się. Będę wdzięczny za pomoc.

kchteam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tychy
  • Postów: 155
1
Kopiuj
SELECT 
    * 
FROM 
    kategorie 
    INNER JOIN kpunkty ON kpunkty.k_id = kpunkty.kategoria 
    INNER JOIN punkty ON kpunkty.punkt = punkty.id 
GROUP BY 
    punkty.id 

lub jeśli będziesz wyświetlał tylko punkty:

Kopiuj
SELECT DISTINCT 
    punkty.* 
FROM 
    kategorie 
    INNER JOIN kpunkty ON kpunkty.k_id = kpunkty.kategoria 
    INNER JOIN punkty ON kpunkty.punkt = punkty.id 

[Adam]

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3890
0

co chcesz osiągnąć takim warunkiem

Kopiuj
INNER JOIN kpunty ON
kpunkty.k_id =kpunkty.kategoria

bo to jest cross join...

11
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Dzięki kchteam za szybką odpowiedź, jedna i druga metoda działa bez problemowo :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.