Buongiorno comunity,
Come suggerito da Charlie ho usato il datadiff per trovare la differenza tra due orari in numero calcolabile, ora vorrei quella differenza in formato orario per poi sommare le differenze di due in&out. Ho provato con : ( SELECT TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Ingresso", "Uscita" ) || ':00' AS "TIME" ), 'HH:MI' ) FROM "TPresenze" ), ma funziona solo se in TPresenze c'è solo 1 record, come ne aggiungo un altro mi da errore "Atteso singolo valore in statment...." Le chiavi ci sono, le relazioni ci sono ...che dato attende?
[Risolto]Differenza campi ore,risultato in ore in query in
[Risolto]Differenza campi ore,risultato in ore in query in
Ultima modifica di Muset il mercoledì 31 marzo 2021, 17:42, modificato 3 volte in totale.
LibreOffice 7.3.4.2 (x64) Windows 11
Re: Differenza campi ore,risultato in ore in query in Base
@Muset fa riferimento a questo argomento: viewtopic.php?f=13&t=11148&p=63386#p63386 che considero risolto e gli chiedo di contrassegnarlo come tale come previsto dalle regole del forum.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Differenza campi ore,risultato in ore in query in Base
Problematiche della query:
- Non è possibile utilizzarla per inserire nuovi record perché la chiave primaria di una delle tabelle è anche secondaria nell'altra. Al momento dell'inserimento di un nuovo record la chiave primaria sarebbe generata automaticamente (tabella ad autoincremento) al completamento del record e lo stesso valore dovrebbe essere digitato contemporaneamente come chiave secondaria nell'atra tabella ancor prima che sia generato.
- Meglio optare per una query in sola lettura (senza chiavi primarie) che funziona ed adoperare direttamente le tabelle (tramite formulari) per immettere/modificare i dati.
- Senza addentrarmi nella ricerca per cui il codice allegato non funziona, ne allego una versione che funziona:
Codice: Seleziona tutto
SELECT "TDipendenti"."Nome Cognome", "TPresenze"."Ingresso", "TPresenze"."Uscita", "TPresenze"."Ingresso2", "TPresenze"."Uscita2", "TPresenze"."Data", ( DATEDIFF( 'mi', "Ingresso", "Uscita" ) + DATEDIFF( 'mi', "Ingresso2", "Uscita2" ) ) / 60.00 AS "oreNum", TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', "Ingresso", "Uscita" ) + DATEDIFF( 'mi', "Ingresso2", "Uscita2" ) || ':00' AS "TIME" ), 'HH:MI' ) AS "Somma Ore lavorate" FROM { oj "TPresenze" LEFT OUTER JOIN "TDipendenti" ON "TPresenze"."ID Dipendente" = "TDipendenti"."IDDipendenti" }
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Differenza campi ore,risultato in ore in query in Base
Scusa, pensavo che mettendo il flag verde lo indicasse come risolto.
LibreOffice 7.3.4.2 (x64) Windows 11
Re: Differenza campi ore,risultato in ore in query in Base
Grazie ,funziona perfettamente...grande charlie
LibreOffice 7.3.4.2 (x64) Windows 11
Re: (RISOLTO)Differenza campi ore,risultato in ore in query
Anche l'altro argomento va chiuso correttamente e, anche questo, non così (ROSOLTO) ma così [Risolto].
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org