Newsgroup: it.comp.appl.access
Titolo: Raggruppare più campi in una query

partenza: Tabella "rosa", composta dai campi "porteri", "difensori", 
"centrocampisti", "attaccanti".
Vorrei avere una query "giocatori", che raggruppi tutti i campi della 
tabella.
Per il momento faccio una query per ogni campo, che accoda i dati in una 
tabella di transizione, sulla quale faccio la query desiderata. Mi rendo 
conto però che non può essere questo il sistema migliore, e quindi 
chiedo lumi a voi.
ciao
Peppe

 ha scritto nel messaggio
news:lIKIe.140$zs...@tornado.fastwebnet.it...

Ciao peppe,
non mi è molto chiaro come hai strutturato  la tabella "rosa", ma mi è
chiaro una cosa: comunque sia non va bene!!! :-)
Cosa succede se in "rosa" hai 5 Attaccanti? li scrivi tutti nel campo
Attacanti? e quando vorrai sapere quanti gol ha fatto ogni singolo
attaccante cosa farai?
Allora io farei 2 tabelle
"Ruoli"
idRuolo    Ruolo
1                Portiere
2                Difensore
3                Centrocampista
........
"Giocatori"
idGiocatore    Cognome    Nome        idRuolo
1                       Zoff               Dino        1
2                       Bordon                          1
3                       Cabrini        Antonio    2
3                       Gentile                           2
4                       Tardelli        Marco       3
......
Se è possibile che lo stesso giocatre giochi in ruoli diversi neò corso del
tempo allora  ti servirà una terza tabella, togli idRuolo dalla tabella
giocatori
e aggiungi la tabella RuoliGiocatori
idRuolo    idGiocatore    DataInizio        DataFine
1                1                       10/06/1982        30/07/1982
.....
Poi ci possono essere un sacco di altre complicazioni ma per il momento mi
fermo qui!
Ciao
Cinzia

 chiaro una cosa: comunque sia non va bene!!! :-)
Il mio era un esempio, ma forse facevo prima a spiegare il vero problema.
L'applicazione gestisce i risultati delle partite di scacchi, per cui 
nella tabella ho i campi "bianco" e "nero", che vorrei raggruppare per 
poter stilare la classifica.
Per il momento eseguo una query di accodamento per ogni campo, 
raggruppando così tutti i dati in una tabella, per poi cancellare tutto 
e rieseguire le query ad ogni modifica, ma vorrei trovare un sistema più 
snello.
Grazie e ciao
Peppe

 vorrei raggruppare per poter stilare la classifica.
Se posti la struttura REALE della tabella, qualche record di esempio e il
risultato che vorresti ottenere si puň provare a darti una mano.
Alessandro

 risultato che vorresti ottenere si può provare a darti una mano.
Ok.
Premesse (scusatemi se sembrano ovvie):
1- negli scacchi i termini "bianco" e "nero" sottintendono "giocatore che 
gestisce i pezzi bianchi/neri".
2- in un torneo di più partite lo stesso giocatore userà più volte i bianchi 
e più volte i neri (in genere ma non sempre userà tante volte i bianchi 
quante i neri).
3- similarmente al tennis, una partita di scacchi determina un punteggio 
inerente il torneo e una variazione di punteggio inerente la classifica 
individuale del giocatore (nel tennis "ATP", egli scacchi "Elo").
4- il sistema Elo si basa sul punteggio atteso di ogni giocatore; tale 
punteggio varia col variare dell'avversario.
Detto questo:
Ho le tabelle "tornei", "partite", "giocatori".
I dati vengono trattati in una maschera "Mtornei", che comprende le 
sottomaschere "Mpartite", "Mclassifica", "MvariazioniElo"; le maschere si 
basano su relative query.
L'utente, una volta definiti i campi relativi al torneo ("Mtornei"), 
inserisce le varie partite ("Mpartite", maschere continue) nei campi 
"bianco", "nero", "risultato". Al variare di uno di questi 3 campi bisogna 
ricalcolare la classifica del torneo ("Mclassifica") e l'elenco delle 
variazioni Elo ("MvariazioniElo").
A torneo finito l'utente può rendere definitivo il torneo; in questo caso la 
variazione Elo di ogni partecipante sarà accodata alla tabella "giocatori", 
aggiornando così il punteggio Elo per il prossimo torneo.
[esempio: il giocatore Peppe ha punteggio Elo 1500; nel torneo "X" ottiene 
la variazione Elo di +15; sarà accodato il seguente record alla tabella 
giocatori: "torneo"=X; "giocatore"=Peppe; "elo"=15. Al prossimo torneo Peppe 
parteciperà con un punteggio Elo di 1515 (query "Qgiocatori", SommaDiElo).
Per gestire la classifica del torneo e l'elenco delle variazioni Elo ho la 
necessità di raggruppare i campi "bianco" e "nero" per gestirli come 
"giocatori".
Spero di essere stato chiaro :-)
Ciao
Peppe

 Premesse (scusatemi se sembrano ovvie):
<snip>
Ti avevo chiesto tre cose: nelle tue, pur utili, premesse non vedo menzione
nè della struttura delle tue tabelle (campi e relazioni esistenti), nè
alcuni dati (il minimo indispensabile) per riprodurre un esempio concreto,
nè il tipo di risultato che vorresti ottenere da tali dati.
Quindi, pur essendo un (modesto) giocatore di scacchi, mi risulta ancora
difficile darti un consiglio utile.
Alessandro

Ci riprovo: nella tabella "X" ho il campo "A" e il campo "B".
Sono presenti i seguenti 5 record:
record 1: [A] = "Andrea"; [B] = "Filippo"
record 2: [A] = "Giacomo"; [B] = "Luca"
record 3: [A] = "Ciro"; [B] = "Valerio"
record 4: [A] = "Marco"; [B] = "Francesco"
record 5: [A] = "Massimo"; [B] = "Antonio"
Ho la necessità di raggruppare questi dati in una query che mi restituisca 
tutti i valori dei 2 campi in un unico campo [Y], come segue (in qualsiasi 
ordine):
record 1: [Y] = "Andrea"
record 2: [Y] = "Filippo"
record 3: [Y] = "Giacomo"
record 4: [Y] = "Luca"
record 5: [Y] = "Ciro"
record 6: [Y] = "Valerio"
record 7: [Y] = "Marco"
record 8: [Y] = "Francesco"
record 9: [Y] = "Massimo"
record 10: [Y] = "Antonio"
Spero di essere stato finalmente chiaro :-)
ciao
Peppe 


Ora sì. ;-)
SELECT A AS Y FROM X
UNION
SELECT B FROM X;
HTH.
Alessandro

 SELECT B FROM X;
Chi la dura la vince ;-)
Grazie, e ciao
Peppe