前提・実現したいこと
SQLのSELECT文を用いて実働時間の合計を表示させたいです。
|開始時間|終了時間|実働時間|合計|
|:--|:--:|--:|
|08:30|19:30|10|25|
|09:00|17:30|7.5|
|09:00|17:30|7.5|
発生している問題・エラーメッセージ
実際の合計時間と表示されている合計時間が異なる
|開始時間|終了時間|実働時間|合計|
|:--|:--:|--:|
|08:30|19:30|10|53.99.....|
|09:00|17:30|7.5|41.50.....|
|09:00|17:30|7.5|41.50.....|
該当のソースコード
SQL
1SELECT 2to_char(kj.開始時間,'hh24:mi') as 開始時間, 3to_char(kj.終了時間,'hh24:mi') as 終了時間, 4(kj.終了時間 - kj.開始時間) * 24 - 1 as 実働時間, 5(select sum(kj.終了時間 - kj.開始時間) * 24 - 1 from 社員2 s) as 合計 6from 社員2 s 7 8inner join 勤務予定時間 k 9on s.社員ID = k.社員ID 10inner join 勤務時間 kj 11on s.社員ID = kj.社員ID 12and to_char(k.年月,'yyyy-mm') = to_char(kj.年月日,'yyyy-mm') 13where k.社員ID = '0001' 14and k.年月 = '2018-04-01 00:00:00'; 15 16 17```### 試したこと 18 19実働時間の合計を副問い合わせで表現した。 20 21### 補足情報(FW/ツールのバージョンなど) 22Oracle SQL Developer
使用するデータベースの情報やOSの情報なども添えるべきです。クエリーの検討には関係するテーブルの構造も示すべきで、CREATE TABLE文やサンプルデータのINSERT INTO文も示すべきです。
テーブル定義も併せてご提示ください。
日付時刻型の扱いはデータベースの種類などによって異なります。データベースの種類、バージョン、カラムの型を明記してください。
実際のデータと想定している値、現在の実行で得られる値もご提示ください。
SQLは全文を記載下さい。from句以降がないと成り立たないSQLになっています
「テーブル定義」では伝わらない悲しさ。 それぞれのデータの型、サイズなどが書いてあるものです。https://consulting.jxyz.info/419250224/
日付とか時刻とかデータ型が何になっているかによってクエリーの作りも変わる重要な要素なのにね。SQL Developerで該当TableでColumnタブがどう表示されているかを掲載するだけでもいいのだけど。
msts10806 さん 取り敢えず演算結果とかは確認されていたようなので、属性は関係ないかなと思って回答したんですが、啓蒙活動としてはそれらが揃うまで回答は控えた方がいいんですかね。
回答1件
あなたの回答
tips
プレビュー