26 messaggi dal 06 novembre 2001
Ciao a tutti,
vi sottopongo prima la struttura e poi vi farò la fatidica domanda...

Ho 3 tabelle
Giocatori
Ruoli
RuoliGiocatore

Questa struttura mi serve per indicare per uno stesso giocatore più di un ruolo.
COme attributo della tabella RuoliGiocatore ho messo un campo che mi indica l'importanza del ruolo attraverso l'inserimento di un numero
1 significa il primo ruolo del giocatore
2 il secondo ruolo
3 il terzo e così via

Dovrei creare una query che mi restituisca l'elenco dei giocatori con affianco i ruoli di ciascun giocatore ordinati in base al ruolo
Se ad esempio i ruoli sono:
Ala
Centro
Guardia

Vorrei pre primi
quelli che sono solo ala
poi quelli che sono ala centro
poi quelli ala centro guardia
poi quelli ala guardia
poi quelli ala guardia centro
.
.
.
poi quelli guardia
guardia ala

e così dicendo....

Mi potete aiutare? sono veramente inguaiato
Grazie mille per l'eventuale aiuto
3.122 messaggi dal 16 maggio 2002
Uh.. chiedi poco eh?
SELECT G.*, R.*
FROM Giocatori G, Ruoli R, RuoliGiocatore RG
WHERE G.chiaveGiocatore=RG.chiaveGiocatore
AND R.chiaveRuolo=RG.chiaveRuolo
ORDER BY R.chiaveRuolo

Questa query però ti estrae solamente le coppie ruolo-giocatore ordinandole per ruolo, ma, ovviamente, non "raggruppa" i ruoli dello stesso giocatore assieme.
La query che tu desideri non è molto semplice da scrivere (inoltre non sono sicuro di aver capito bene ciò che chiedi) e non so nemmeno se sia possibile.

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!
26 messaggi dal 06 novembre 2001
in effetti nemmeno io sono sicuro che sia possibile...
quello che chiedevo però era ordinare i record per ruolo primario e poi ruolo secondario
3.122 messaggi dal 16 maggio 2002
La tabella RuoliGiocatore andrebbe usata solo se una tupla è equivalente ad un'altra. Se sai già che avrai al massimo 3 ruoli in ordine di importanza decrescente allora ti consiglio di creare 3 campi nella tabella dei giocatori chiamati "primario", "secondario", "terziario" nei quali andrai a mettere i ruoli. Magari con un vincolo di tabella che ti controlla che i tre ruoli siano tutti diversi.
Allora poi potrai ordinarli per primario, secondario, terziario semplicemente scrivendo
...
ORDER BY primario, secondario, terziario

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.