SQL funzione somma solo se..

SQL funzione somma solo se..

Tag:
Categoria:
0
0

Ciao a tutti!

 

Ho un problema, ho una tabella con una colonna dove vengono segnate le varie assenze del personale nelle varie tipologie ovvero:

ferie correnti, permessi, malattia, ecc….

e nella colonna a fianco le varie ore.

 

Sto cercando di trovare un modo per calcolare il tempo totale delle varie tipologie di assenze, per ora ho provato a creare un campo per ogni tipologia e aggiungergli una funzione SQL questa:         EseguiSQL ( “SELECT SUM(ORE) FROM PRESENZE WHERE ORE=’Fc'”;””;””)

ma il campo calcolato mi restituisce solo un ?

i dati del campo sono di tipo ore. Sapete aiutarmi?

Segnalato come spam
Pubblicata da (Domande: 17, Risposte: 48)
Domanda inviata 10 Gennaio 2016 18:08
821 vis.
0
Domanda privata

ok, con l’ultima  formula che mi hai scritto funziona, però il campo l’ho dovuto mettere in una tabella SCHEDA collegata, allora restituisce il numero corretto delle ore. Grazie mille per l’aiuto.

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 16 Gennaio 2016 14:46
0
Domanda privata

per quello che posso vedere la formula è giusta, se i campi sono scritti in quel modo e ore è un campo numerico.

EseguiSQL ( ”SELECT SUM(ORE) FROM PRESENZE WHERE TIPO=?” ; ”” ; ””; ”Tr” )

funziona, restituisce nulla o ?

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 16 Gennaio 2016 12:59
0
Domanda privata

No, ho provato ma continuo a sbagliare, non mi funziona… ho anche sbagliato ad indicarti la formula, comunque provo a spiegarmi meglio:

Allora, ho una tabella PRESENZE con una colonna DATA che rimane fissa, una colonna ORE dove vado ad inserire le ore di assenza e una colonna TIPO dove indico la tipologia di assenza in base a un menu a tendina con una lista fissa delle tipologie (Tr,Fc,P,L,ecc…..)

ho fatto un campo calcolato nella tabella presenze con questa:

EseguiSQL ( ”SELECT SUM(ORE) FROM PRESENZE WHERE TIPO=Tr” ; ”” ; ”” ) ma non va….

dove sbaglio?

 

 

grazie per l’aiuto

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 14 Gennaio 2016 13:38
0
Domanda privata

Buongiorno, Federico.

senza entrare nello specifico, a occhio vedo tre incongruenze.
la prima: EseguiSQL è case-sensitive, per cui se il tuo campo si chiama ore (o Ore) e la tua TO presenze (o Presenze) scrivendo nella query ORE e PRESENZE non funzionerà mai.

In secondo luogo, non capisco cos’è ’Fc'; se è un campo, la formula dovrebbe essere :

EseguiSQL ( ”SELECT SUM(ORE) FROM PRESENZE WHERE ORE=?”;””;””; Fc)

se invece è un testo:

EseguiSQL ( ”SELECT SUM(ORE) FROM PRESENZE WHERE ORE=Fc”;””;””)
(occhio alle maiuscole anche in questo caso)

terzopoi non ho proprio capito il concetto della query. sempre ipotizzando che tu abbia una tabella tipologie,  e che nel tabellone generale tu inserisca la tipologia per nome, una query potrebbe essere:

EseguiSQL ( ”SELECT SUM(ORE) FROM PRESENZE WHERE tipologia=?”;””;””; tuocampotipologia)

ma non ho capito che c’entri ORE dopo il WHERE.

Spero di aver tirato a indovinare bene :D

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 11 Gennaio 2016 22:20



Risposte
Visite
Domanda
0
risposte
21
vis.
SQL
Sii il primo a rispondere
domanda inviata 2 anni fa da
Categoria: EseguiSQL
Tag:
Categoria:
domanda inviata 2 anni fa da
Categoria: EseguiSQL