numerare record selezionati in una query

Discussioni sulle caratteristiche di database
Rispondi
dino
Messaggi: 108
Iscritto il: venerdì 6 gennaio 2012, 15:25

numerare record selezionati in una query

Messaggio da dino »

Salve, ho un db di gestione degli allievi e naturalmente sono in una tabella "anagrafica".
Vorrei fare una query che selezioni tutti i ragazzi di una determinata classe e che li numeri in sequenza partendo da 1, quindi l'id allievo non c'entra nulla!
il db è in Mysql ma la query che funziona: (SET @t1:=0; SELECT @t1 := @t1+1 as row_number, nome, cognome from...... where classe = 1 )
non riesco a tradurla per base! e mi da errore.

grazie in anticipo!
Ultima modifica di dino il domenica 3 gennaio 2016, 17:00, modificato 1 volta in totale.
libreoffice 4.2 sia su win che su ubuntu
dino
Messaggi: 108
Iscritto il: venerdì 6 gennaio 2012, 15:25

Re: numerare record selezionati in una query

Messaggio da dino »

pensando fosse il problema del comando SET ho trovato questa impostazione della query
SELECT (@row_number:=@row_number + 1) AS num, cognome, nome, sesso FROM anagrafica,(SELECT @row_number:=0) AS t WHERE classe = 1

ma ancora mentre funziona direttamente in mysql... in base mi da errore di sintassi.... e non riesco a impostarla
libreoffice 4.2 sia su win che su ubuntu
dino
Messaggi: 108
Iscritto il: venerdì 6 gennaio 2012, 15:25

Re: numerare record selezionati in una query

Messaggio da dino »

funziona: basta impostarlo come "esegui direttamente il comando SQL" !
libreoffice 4.2 sia su win che su ubuntu
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: numerare record selezionati in una query

Messaggio da charlie »

Ciao, per essere di aiuto al Forum dovresti essere un po' più preciso circa la struttura del database che l'esatta sintassi del comando SQL. Vuoi?
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
dino
Messaggi: 108
Iscritto il: venerdì 6 gennaio 2012, 15:25

Re: numerare record selezionati in una query

Messaggio da dino »

ecco allora la situazione:
ho un db in mysql 3 tabelle:
1) l'anagrafica studenti
2) elenco classi
3) tabella di collegamento (molti a molti)
tutto questo perchè una classe ha molti studenti e uno studente nel percorso frequeterà molte classi. Il sistema molti a molti mi permette di tenere lo storico.

così ho creato una maschera con le classi e una sottomaschera con gli allievi. quando seleziono una classe in automatico nella tabella viene visualizzato l'elenco degli iscritti in quella classe. IL post che ho avviato mi serviva perchè volevo che oltre al cognome e nome vi fosse anche il numero progressivo. Nei report è semplice da fare ma non così nella maschera.
Se avete altre soluzioni più corrette per far questo fatemelo sapere.

Anche perchè pur funzionando la query e numerando i campi... il comando diretto in Mysql fa saltare tutti i "sincronismi" : se seleziono la classe quindi non mi filtra più gli allievi di quella classe ma me li fa vedere tutti!!

grazie comunque!
libreoffice 4.2 sia su win che su ubuntu
Rispondi