Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 04-07-2004, 16.45.50   #1
steso00
Newbie
 
Registrato: 05-06-2004
Messaggi: 11
steso00 promette bene
aiuto sql

Ciao a tutti. Vi spiego il mio problema rivolto agli "esperti" di sql. Ho 3 tabelle (gran premi, piloti e risultati), nella tabella risultati ci sono le chiavi esterne delle altre 2 tabelle, il n° giro, tempo. Cioè nella tabella risultati sono elencati tutti i giri di tutti i piloti di tutti i gran premi. La query che devo fare è: elenco di tutti i vincitori di tutti i gp. Ovviamente il vincitore di ogni gran premio è quel pilota che ha la somma dei tempi riferiti a quel gran premio minore di tutti.
Spero di essere stato chiaro... Mi date una mano per favore?
steso00 non è collegato   Rispondi citando
Vecchio 04-07-2004, 17.37.38   #2
nemesis
Hero Member
 
L'avatar di nemesis
 
Registrato: 16-01-2002
Loc.: Mantova
Messaggi: 1.436
nemesis promette bene
scusa mi metti le definizioni delle tabelle complete che ti aiuto non capisco bene i campi presenti in ogni tabella
___________________________________

-p4 775 3.4-corsair ddr2 1gb-nvidia 6600-nec3520-dvd-enermax-e thermaltake shark black!
nemesis non è collegato   Rispondi citando
Vecchio 04-07-2004, 17.45.29   #3
steso00
Newbie
 
Registrato: 05-06-2004
Messaggi: 11
steso00 promette bene
allora tabella: GRANPREMI (ID(chiave primaria), lunghezza, n°giri da percorrere, nome)
PILOTI (ID (chiave primaria), nome, squadra)
RISULTATI (N° giro, tempo, fk_gp, fk_piloti)
Come ho detto nella tabella risultati ci sono tutti i giri di tutti i piloti di tutti i gran premi con i rispettivi tempi (es. giro:4, tempo: 150, fk_gp:2, fk_pilota:5)
Io voglio sapere i piloti vincitori di ciascun gran premio cioe quei piloti che per quel grn premio hanno la somma dei tempi piu bassa. Questo ovviamente per tutti i granpremi. Grazie per la tempestività
steso00 non è collegato   Rispondi citando
Vecchio 04-07-2004, 17.53.02   #4
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Avrai quindi le tabelle fatte così:

GP (GPid [PK], Nazione, Data, Luogo)
Pilota (Nome[PK], Moto, Team, Nazione)
Risultati (Pilota[PK-FK], GP[PK-FK], Giro[PK], Tempo)

con PK = Primary Key, FK = Foreign key.

L'interrogazione SQL che ti serve è fatta così:

Codice:
Create View Sommatempi as
SELECT Pilota, GP, sum (Tempo) as Finale
FROM Risultati
GROUP BY Pilota, GP

Create View Vincitore as
SELECT Pilota, GP, Finale
FROM Sommatempi as A
WHERE A.Finale <= ALL SELECT Finale
                      FROM Sommatempi as B
                      WHERE A.GP = B.GP

SELECT P.Nome, P.Moto, P.Team, P.Nazione, G.Nazione as GP, G.Luogo, G.Data
FROM (Vincitore as V join Pilota as P
     on V.Pilota = P.Nome) join GP as G
     on V.GP = G.Gpid
ORDER BY G.Data
Ho creato la View Vincitore per non mettere assieme questa view con la select finale, veniva fuori un po' troppo incasinata


Edit: era "<=" e non "<", altrimenti non funzionava nulla!

Ultima modifica di Dav82 : 04-07-2004 alle ore 18.08.15
Dav82 non è collegato   Rispondi citando
Vecchio 04-07-2004, 17.59.59   #5
steso00
Newbie
 
Registrato: 05-06-2004
Messaggi: 11
steso00 promette bene
No allora io devo prendere i dati solo sulla tabella risultati e devo elencare gli fk_piloti con a fianco il gran premio vinto. Sulla tabella risultati non ci sono solo i vincitore ci sono tutti i tempi di tutti i giri di tutti i piloti di tutti i granpremi. Quindi io devo sommare tutti i tempi di ogni singolo pilota e ogni singolo granpremio, poi prendere per ogni gran premio la somma tottale piu bassa (che sarebbe il vincitore del gran premio). questo per tutti i granpremi come ti ho detto. La data non c'è tutte le gare sono rifeite ad un anno
steso00 non è collegato   Rispondi citando
Vecchio 04-07-2004, 18.01.41   #6
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Quota:
Originariamente inviato da steso00
No allora io devo prendere i dati solo sulla tabella risultati e devo elencare gli fk_piloti con a fianco il gran premio vinto. Sulla tabella risultati non ci sono solo i vincitore ci sono tutti i tempi di tutti i giri di tutti i piloti di tutti i granpremi. Quindi io devo sommare tutti i tempi di ogni singolo pilota e ogni singolo granpremio, poi prendere per ogni gran premio la somma tottale piu bassa (che sarebbe il vincitore del gran premio). questo per tutti i granpremi come ti ho detto
Quello che ho scritto sopra, appunto
Dav82 non è collegato   Rispondi citando
Vecchio 04-07-2004, 18.03.19   #7
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Se vuoi te lo riscrivo con i campi esatti che hai nelle tue tabelle, ma il concetto è quello
Dav82 non è collegato   Rispondi citando
Vecchio 04-07-2004, 18.08.08   #8
steso00
Newbie
 
Registrato: 05-06-2004
Messaggi: 11
steso00 promette bene
si ma lo devo fare con tre query? e poi la data non c'è io voglio solo fk_pilota con a fianco l'fk_gp vinto
steso00 non è collegato   Rispondi citando
Vecchio 04-07-2004, 18.09.53   #9
steso00
Newbie
 
Registrato: 05-06-2004
Messaggi: 11
steso00 promette bene
Io dovrei farle girare su access e quindi le view non sono accettate dal sig.bill.
steso00 non è collegato   Rispondi citando
Vecchio 04-07-2004, 18.28.49   #10
steso00
Newbie
 
Registrato: 05-06-2004
Messaggi: 11
steso00 promette bene
non si riesce a fare con una sola query vero? Io potrei farlo anche con piu query pero non con le viste. Cosa mi dici?
steso00 non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[XP] SQL Server bimbomix Windows 7/Vista/XP/ 2003 0 04-04-2008 16.01.09
Segnalazioni KB (Knowledge Base) Microsoft giancarlof Segnalazioni Web 71 12-07-2007 09.04.00
AIUTO !! TCP ermetici !! AIUTO !! aloamauro Internet e Reti locali 9 22-01-2007 17.07.14
Impossibile avviare SQL Server GiulioCesare Software applicativo 0 03-01-2005 22.28.52
errore SQL URGENTE!!!! woodrook Windows 7/Vista/XP/ 2003 1 29-10-2004 11.50.03

Orario GMT +2. Ora sono le: 14.37.19.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.