[Risolto]Differenza campi ore,risultato in ore in query in

Discussioni sulle caratteristiche di database
Rispondi
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

[Risolto]Differenza campi ore,risultato in ore in query in

Messaggio da Muset »

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?
Ultima modifica di Muset il mercoledì 31 marzo 2021, 17:42, modificato 3 volte in totale.
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8804
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Differenza campi ore,risultato in ore in query in Base

Messaggio da charlie »

@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
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8804
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Differenza campi ore,risultato in ore in query in Base

Messaggio da charlie »

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" }
P.S. per domande diverse dall'argomento in oggetto ("Differenza campi, ...") aprine uno nuovo.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Differenza campi ore,risultato in ore in query in Base

Messaggio da Muset »

Scusa, pensavo che mettendo il flag verde lo indicasse come risolto.
LibreOffice 7.3.4.2 (x64) Windows 11
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Differenza campi ore,risultato in ore in query in Base

Messaggio da Muset »

Grazie ,funziona perfettamente...grande charlie
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8804
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: (RISOLTO)Differenza campi ore,risultato in ore in query

Messaggio da charlie »

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
Rispondi