[MS Access] Conteggio presenze nel db

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Salve, sono a chiedere un aiuto al forum, ho un database che contiene vari campi alcuni dove ci vengono scritti i nomi di persone che sono presenti nei verbali, bene vorrei contare quante volte ogni persona è presente con una unica query
Es.:
Pippo= 4
Pluto= 8
Minnie= 3
Ecc.
Ho fatto varie prove ma non sono riuscito nell'intento.
Grazie a chi saprà aiutarmi
Max61
 
Codice:
//conteggio
select ca_nr, count(ca_nr) as counter from carform group by ca_nr order by ca_nr

//verifica un risultato
select count(*) as counter from carform where ca_nr=20

upload_2018-1-5_22-42-30.png


i nomi della tabella e dei campi li sostituisci con i tuoi
 
Ciaso Marino51 e grazie per il suggerimento, ma o sbaglio qualcosa o non è come mi serve, ho provato a fare come mi hai suggerito, ma praticamente così l'avevo fatto anche io e non va bene, perchè mi conta anche le righe vuote mischiandomi i nomi...è illeggibile, così va bene se tutti hanno lo stesso numero di presenze.
Ho fatto una tabella excel per farti vedere come li estrae e come invece li vorrei e addirittura li conta male perchè sottrae agli altri campi quelli dove la persona non era presente, sotto i conteggi veri

Codice:
UFFICIO1                   
PIPPO     96               
UFFICIO2                   
PLUTO     96               
UFFICIO3                   
MINNIE     95               
UFFICIO4                   
PAPERINO 96               
UFFICIO5                   
PAPERONE 96

menter con la query li conta così
Codice:
UFFICIO1        UFFICIO2         UFFICIO3         UFFICIO4              UFFICIO5       CONTEGGIO
PIPPO               PLUTO                                           PAPERINO            PAPERONE              1
PIPPO               PLUTO               MINNIE             PAPERINO            PAPERONE              95

Grazie ancora per la pazienza
Max61
 

Allegati

contare quante volte ogni persona è presente con una unica query
scusa max, questo è quello che hai chiesto e la query che ti ho proposto esegue come da esempio,
nella mia query, ca_nr equivale al nome della persona e come vedi dal risultato che ho postato,
per ciascun " nome della persona" estrae il contatore delle presenze

ora apprendo che vuoi estrarre per "ufficio" e "nome della persona"
dalle mie parti dicono a domanda risposta ovvero
corretta la domanda, corretta la risposta
sbagliata la domanda, la risposta non può essere soddisfacente nonostante sia corretta ....

mentre con la query li conta così
questo risultato non ha nulla a che fare con la query che ti ho suggerito

prova così,
Codice:
select ufficio, nome, count(*) as counter from tabella group by ufficio, nome order by ufficio, nome
otterrai questo risultato
Codice:
UFFICIO1   PIPPO     96
UFFICIO1   PLUTO     xy

UFFICIO2   PLUTO     96

UFFICIO3   MINNIE    95

UFFICIO4   PAPERINO  96

UFFICIO5   PAPERONE  96
la spaziatura tra uffici è solo per meglio vedere il risultato (ma non gestita dalla query)
 
Ciao e scusa se ho sbagliato a formulare la domanda, ma anche adesso non riesco ad ottenere il risultato che vorrei, ho allegato parte della tabella Anagrafica dove viene eseguita la query e il successivo risultato.
Come si vede dai dati in tabella il tecnico6 è presente 2 volte; il tecnico3 è presente 3 volte; il tecnico5 è presente 3 volte;
mentre dalla query questo non si capisce...dove sbaglio?
Allego query usata:
Codice:
SELECT Anagrafica.RespTecnico, Anagrafica.RespVerdeUrbano, Anagrafica.RespEconomato, Count(*) AS [counter]
FROM Anagrafica
GROUP BY Anagrafica.RespTecnico, Anagrafica.RespVerdeUrbano, Anagrafica.RespEconomato;

Grazie ancora
Max61
 

Allegati

tralasciando i risultati che ottieni da tutte le query provate e non,
con l'esempio di anagrafica che hai postato (3 records) e con i valori in essa contenuti
puoi scrivere per favore il risultato che ti aspetti ?
poi proviamo a scrivere una query, se possibile
 
Ok...se possibile mi servirebbe:
tecnico6 = 2
tecnico3 = 3
tecnico5 = 3
Praticamente il nome con accanto il numero di presenze
Grazie infinite
Max61
 
supponendo che il tecnico possa essere presente in colonne diverse
Codice:
SELECT tecnico, sum(counter) as counter FROM (
SELECT RespTecnico as tecnico, count(*) as counter FROM Anagrafica GROUP BY RespTecnico
UNION
SELECT RespVerdeUrbano as tecnico, count(*) as counter FROM Anagrafica GROUP BY RespVerdeUrbano
UNION
SELECT RespEconomato as tecnico, count(*) as counter FROM Anagrafica GROUP BY RespEconomato
) t
WHERE tecnico<>''
GROUP BY tecnico
ORDER BY tecnico
upload_2018-1-6_17-21-24.png


(ma secondo me non è quello che vuoi ....)
 
Grazie Marino51...invece è proprio quello che volevo...
il nome con accanto il numero di presenze
Grazie infinite;)
Max61
 

Discussioni simili