Sql nie powtarzanie się wyników

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.

1
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:

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

[Adam]

0

co chcesz osiągnąć takim warunkiem

INNER JOIN kpunty ON
kpunkty.k_id =kpunkty.kategoria

bo to jest cross join...

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1