2016-03-11 3 views
1
voorletters, naam, geslacht, boete  
    B Niewenburg V 25.00 
    B Niewenburg V 140.00 
    D Moerman V 35.00 
    D Moerman V 50.00 
    DD Cools V 75.00 
    DD Cools V 85.00 
    E Bakker, de M 30.00 
    E Bakker, de M 35.00 
    E Bakker, de M 90.00 
    E Bakker, de M 95.00 
    IP Baalen, van V 140.00 
    R Permentier M 100.00 

И у меня есть это, как SQL заявлениеSQL фильтрации 2 или более

SELECT VOORLETTERS, NAAM, GESLACHT, BEDRAG 
FROM SPELER S 
RIGHT JOIN BOETE B ON B.SPELERSNR = S.SPELERSNR 
LEFT joiN BESTUURSLID BL ON BL.SPELERSNR = S.SPELERSNR 
GROUP BY VOORLETTERS, NAAM, GESLACHT, BEDRAG 

, как я могу сделать это, что я вижу только людей с 2 ​​или более "boete?

так, что я получаю это как ответ

voorletters, naam, geslacht, boete  
B Niewenburg V 25.00 
B Niewenburg V 140.00 
D Moerman V 35.00 
D Moerman V 50.00 
DD Cools V 75.00 
DD Cools V 85.00 
E Bakker, de M 30.00 
E Bakker, de M 35.00 
E Bakker, de M 90.00 
E Bakker, de M 95.00 
+0

Добавить 'HAVING COUNT (1)> 1' – HoneyBadger

+0

@HoneyBadger Я попробовал это, но затем «R Permetier M 100.00», у которого только 1 показывается:/ –

+0

Я бы не ожидал этого из ваших данных образца. Вы также можете попробовать «COUNT (boete)> 1'. – HoneyBadger

ответ

1

использовать подзапрос для получения людей с двумя или более строк в плеер

SELECT VOORLETTERS, NAAM, GESLACHT, BEDRAG 
FROM SPELER S 
RIGHT JOIN BOETE B ON B.SPELERSNR = S.SPELERSNR 
LEFT joiN BESTUURSLID BL ON BL.SPELERSNR = S.SPELERSNR 
where s.naam in (select naam from (select naam, count(*) from speler group by name)) 
GROUP BY VOORLETTERS, NAAM, GESLACHT, BEDRAG