dove sbaglio?
Ho fatto questo:
codice:
SELECT Giocatori.codicegiocatore, Sum(tab.punteggio) AS somma
FROM (SELECT Giocatori.codicegiocatore,punteggi.punteggio,gare.tipogara
FROM Giocatori INNER JOIN (gare INNER JOIN punteggi ON gare.codicegara = punteggi.codicegara) ON Giocatori.codicegiocatore = punteggi.codicegiocatore
WHERE (((gare.tipogara)="C")) And (((punteggi.id) In (Select Top 2 [id] From punteggi Where [codicegiocatore]=[Giocatori].[codicegiocatore] Order By [punteggio] Desc,punteggi.id)))
ORDER BY Giocatori.codicegiocatore, punteggi.punteggio desc, gare.tipogara, punteggi.id) AS tab INNER JOIN Giocatori ON tab.codicegiocatore = Giocatori.codicegiocatore
GROUP BY Giocatori.codicegiocatore
ORDER BY Sum(tab.punteggio) DESC;
in sostanza funziona ma non estrae i 2 record.
mi spiego meglio: estrae i primi 2 record (anche in caso di punteggio uguale ne estrae solamente 2) se i due o più record sono di tipogara = C.
nella prova che sto facendo mi estrae per esempio di un codicegiocatore un solo record ma in sostanza ce ne sono 3 e il primo è tipogara = IT.
come risolvo questo inghippo?
grazie