PDA

Visualizza la versione completa : [SQL] Verifica se un elemento č presente pių di una volta nel risultato di una query


K-Line
22-02-2007, 17:03
Ho una tabella di questo tipo

PILOTA MACCHINA TEMPO DATA POSIZIONE ID
PIPPO FERRARI 1.25.00 01/01/2007 1 1
PLUTO FERRARI 1.25.01 01/01/2007 2 2
PAPERINO BENETTON 1.25.02 01/01/2007 3 3
PIPPO FERRARI 2.25.00 02/01/2007 1 4
PAPERINO FERRARI 2.25.01 02/01/2007 2 5
PLUTO BENETTON 2.25.02 02/01/2007 3 6

da cui voglio estrarre i piloti che sono arrivati per pių di una volta al primo posto o al secondo posto e sapere quante colte sono arrivati al primo o al secondo posto ( quindi il pilota pippo e 2 volte)
quindi estraggo con una query estraggo tutti i piloti che sono arrivati al primo o al secondo posto...


SELECT MACCHINA, PILOTA, TEMPO
FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'

come faccio a sapere ora quante volte pippo č arrivato primo o secondo?

Dr_House
22-02-2007, 22:31
SELECT MACCHINA, PILOTA, TEMPO, count(*) as Numerovolte
FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'
group by Macchina, Pilota, Tempo

K-Line
23-02-2007, 08:43
Originariamente inviato da Dr_House
SELECT MACCHINA, PILOTA, TEMPO, count(*) as Numerovolte
FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'
group by Macchina, Pilota, Tempo

come dici tu numerovolte viene sempre valorizzato a 1

HO RISOLTO COSė

SELECT PILOTA FROM (

SELECT MACCHINA, PILOTA, TEMPO
FROM Table1 WHERE POSIZIONE BETWEEN '1' AND '2'
) WHERE 1 GROUP BY PILOTA HAVING COUNT(*) > 1

Loading