Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-05-2014, 14:46   #1
Lorenzoz
Senior Member
 
L'Avatar di Lorenzoz
 
Iscritto dal: Jun 2012
Messaggi: 1187
[SQL] access raggruppare valori sulle colonne

Un saluto a tutti (probabilmente il titolo sarà una castroneria, ma non sapevo come spiegarmi).
ho un problema che le mie scarse competenze di access non mi permettono di risolvere (sempre che sia possibile).

Dunque, spero di riuscire a spiegarmi bene, in una tabella ho i dati così organizzati:

Codice:
val1|val2|val3|tipo
123 |6   |0   |visita
123 |6   |0   |esame
123 |7   |1   |visita
456 |6   |2   |visita
456 |6   |0   |strumentale
890 |11  |0   |visita
...e via così

La chiave di questa tabella è val1+val2+val3.
Il mio problema è che vorrei riuscire ad ottenere un risultato simile
Codice:
val1|conteggio_visite|conteggio_esami|conteggio_strumentali
123 |2               |1              |0
456 |1               |0              |1
890 |1               |0              |0
vorrei quindi, raggruppati i dati per val1, contare i base al tipo.
sapreste aiutarmi?
ho ottenuto i giusti conteggi raggruppando per tipo, a quel punto i conteggi sono semplici, tuttavia per motivi di organizzazione devo mostrare un val1 su una singola riga.

Come detto non conosco access e con l'sql che ho studiato all'università non ho mai avuto problemi di presentazione dei dati di questo tipo.
Lorenzoz è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2014, 13:38   #2
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Puoi fare in questo modo:
Codice:
SELECT
  val1,
  SUM(IIF([tipo] = "visita", 1, 0) AS conteggio_visite,
  SUM(IIF([tipo] = "esame", 1, 0) AS conteggio_esami,
  SUM(IIF([tipo] = "strumentale", 1, 0) AS conteggio_esami
FROM tabella
GROUP BY val1
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2014, 19:14   #3
Lorenzoz
Senior Member
 
L'Avatar di Lorenzoz
 
Iscritto dal: Jun 2012
Messaggi: 1187
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Puoi fare in questo modo:
Codice:
SELECT
  val1,
  SUM(IIF([tipo] = "visita", 1, 0) AS conteggio_visite,
  SUM(IIF([tipo] = "esame", 1, 0) AS conteggio_esami,
  SUM(IIF([tipo] = "strumentale", 1, 0) AS conteggio_esami
FROM tabella
GROUP BY val1
Ti ringrazio!! Appena riesco provo e vedo se riesco a costruirlo.

Aggiorno con il risultato.

Grazie ancora, buon fine settimana!
Lorenzoz è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2014, 08:56   #4
Lorenzoz
Senior Member
 
L'Avatar di Lorenzoz
 
Iscritto dal: Jun 2012
Messaggi: 1187
Ok, sono riuscito ad ottenere quello che volevo!
Solo un appunto, su cui ho battuto la testa per 5 minuti prima di arrivarci.
Nell'espressione

Codice:
SUM(IIF([tipo] = "visita", 1, 0) AS conteggio_visite
access vuole l'uso di ; invece di ,. Diventa quindi:

Codice:
SUM(IIF([tipo] = "visita"; 1; 0) AS conteggio_visite
forse dipende dalla localizzazione italiana?

Grazie ancora!!
Lorenzoz è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2014, 09:02   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Credo che tutti i prodotti microsoft si adeguino alle impostazioni di sistema, in questo caso si tratta del separatore di elenco, se vuoi verificare puoi modificarlo dal pannello di controllo, nelle impostazioni internazionali.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v