PDA

Visualizza la versione completa : Raggruppamento sotto Access


andfer
24-09-2002, 12:40
Ho la necessita di raggruppare i dati di una tabella in un altra prendendo solo i primi 2 caratteri del campo.

È possibile fare cio ?

per esempio il mio campo codice è :

ot-1
ot-2
ot-3
ab-1
ab-2

la risultante tabella dovra contenere solamente e la quantità delle volte che è ripetuto:
ot 3
ab 2

poi gli altri campi li aggiungo io.

comas17
24-09-2002, 13:43
Prova:

insert into (tabella2) values select left(nomecampo,2),count(*) from tabella1 group by left(nomecampo,2)

andfer
24-09-2002, 16:56
Non ma nemmeno questo .

:cry: :dhò:

So che sono il tuo incubo, ma ti prego dammi una mano...

comas17
24-09-2002, 20:13
Riproviamo, (questa l'ho provata...)

Nella tabella2 (quella da riempire) avrai ovviamente un campo di testo (in cui mettere le prime due lettere estratte...) ed un campo numerico (in cui mettere il numero di volte che si ripete...). Questi due campi io li ho chiamati "nome_campo_testo" e "nome_campo_numerico".
Ovviamente tu dovrai mettere i nomi che hai davvero utilizzato...

"nome_campo" è invece il nome che hai utilizzato nella tabella1

Insert into tabella2(nome_campo_testo,nome_campo_numerico) select left(nome_campo,2), count(*) from tabella1 group by nome_campo

Non preoccuparti, non mi disturbi affatto, fammi sapere...

andfer
25-09-2002, 09:19
Ci siamo quasi, ora la query popola la tabella ma non effettua i conteggi.

Cioè ottengo questo risultato

ID_Stat Codice Descrizione Qty
9 ot 1
10 ot 1
11 ot 1
12 ot 1



Ivece quello ke vorrei è :

ID_Stat Codice Descrizione Qty
9 ot 4

Grazie per l'aiuto.
;)

comas17
25-09-2002, 09:36
C'è qualcosa che non mi torna...
Sei sicuro di aver copiato bene la query ? In particolare non dimenticare la parte "group by nome_campo". E' proprio questa che fa il "consuntivo".
Prova a scrivermi la struttura precisa delle due tabelle che vuoi utilizzare (quella di partenza e quella da riempire con i dati calcolati) così posso fare delle prove proprio uguali a te.
Ciao

andfer
25-09-2002, 09:56
Faccio prima a mandarti direttamente il DB.

Scrivimi un mes pvt con la tua mail, cosi ti spiego bene la struttura.

Grazie x l'aiuto.

comas17
25-09-2002, 10:50
Rieccola corretta...

Insert into tabella2(nome_campo_testo,nome_campo_num
erico) select left(nome_campo,2), count(*) from tabella1 group by left(nome_campo,2)

(Ti ho anche mandato una email privata)

Ciao

andfer
25-09-2002, 11:21
Sei il migliore !!!

Grazie

Loading