複数の条件で値を計算する方法とデータベースを設計する方法は?

WD_Apps

複数の条件でデータを計算する必要があります

MinOTHrs    MaxOTHs     DayType          Rate
------------------------------          -----------
3             -         Working_day        18
4             11        Weekend            18
11            -         Weekend            36

たとえば、従業員がworking_day> 3時間にOTを実行する場合。従業員が週末に4時間以上OTを行う場合、レート18(working_dayの場合は最大18)を取得します。しかし<11時間。従業員が週末に11時間以上OTを行うと、レート18が得られます。彼らはレート36(週末は最大36)を取得しますコーディングとデザインデータベースについて教えていただけますか?どうもありがとうございました

マークテイラー

私はおそらく、WorkテーブルとOTテーブルの間の複数の結合としてほとんどの作業を行います。そうすれば、必要なシナリオについてかなり具体的にすることができます。

以下はあなたのための素晴らしい入門書です。それは完璧ではありませんが、あなたが行きたいと思う場所にあなたを遠ざけるはずです!(含まれているIDは、デバッグを目的としたものです。もちろん、必須ではありません)。

//setup

CREATE TABLE overTime (
    MinOTHrs integer,
    MaxOTHrs integer,
    DayType varchar(max),
    payRate integer
);

CREATE TABLE workLog (
    logID integer,
    empID integer,
    DayType varchar(max),
    hoursWorked integer
);

insert into overTime values (3, null, 'Working_day', 18);
insert into overTime values (4, 11, 'Weekend', 18);
insert into overTime values (11, null, 'Weekend', 36);

insert into workLog values (567, 1234, 'Working_day', 2);
insert into workLog values (568, 1234, 'Working_day', 5);
insert into workLog values (569, 1234, 'Weekend', 2);
insert into workLog values (570, 1234, 'Weekend', 9);
insert into workLog values (571, 1234, 'Weekend', 14);

//query
select 
    wl.logID
  , wl.empID
  , wl.DayType
  , wl.hoursWorked
  , coalesce(weekdayOverTime.MinOTHrs, weekendLowOverTime.MinOTHrs, weekendHighOverTime.MinOTHrs) as MINOTHrs
  , coalesce(weekdayOverTime.MaxOTHrs, weekendLowOverTime.MaxOTHrs, weekendHighOverTime.MaxOTHrs) as MAXOTHrs
  , coalesce(weekdayOverTime.payRate, weekendLowOverTime.payRate, weekendHighOverTime.payRate) as maxOTPayBracket

from workLog wl
left join overTime weekdayOverTime on wl.DayType = weekdayOverTime.dayType and wl.hoursWorked > weekdayOverTime.MinOTHrs and wl.dayType = 'Working_day'
left join overTime weekendLowOverTime on wl.DayType = weekendLowOverTime.dayType and wl.hoursWorked > weekendLowOverTime.MinOTHrs and wl.hoursWorked < weekendLowOverTime.MaxOTHrs and wl.dayType= 'Weekend'
left join overTime weekendHighOverTime on wl.DayType = weekendHighOverTime.dayType and wl.hoursWorked > weekendHighOverTime.MinOTHrs and weekendHighOverTime.MaxOTHrs is null and wl.dayType= 'Weekend'

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データの複数の列を計算する方法は?

分類Dev

mysqlで複数の条件値の合計を計算する方法

分類Dev

データベース(休止状態)でテーブルの値を計算する方法は?

分類Dev

SQLServerデータベースで平均を計算する方法

分類Dev

PHPを使用して複数のデータベース行から配列要素の数の合計を計算する方法は?

分類Dev

プレデータベースの設計方法を理解する

分類Dev

Elasticsearch:集計で複数のフィルターと計算を使用する方法は?

分類Dev

SGDClassifierのデータの損失関数の値を計算する方法は?

分類Dev

計算のために複数の数値データセットを処理する方法は?

分類Dev

Pandasデータフレームの統計値を計算する方法は?

分類Dev

SQLデータベース設計:リストの保存を回避する方法は?

分類Dev

合計列の値を合計する方法、つまり小計を計算する方法は?合計はデータベースからのものではないため

分類Dev

データベース値の合計を計算するにはどうすればよいですか

分類Dev

それは可能ですか?クエリのみを使用して数値とデータベース列の値を合計する方法

分類Dev

リンクごとに複数の画像を表示するようにサイトのデータベースを設計および最適化する方法

分類Dev

条件付きで複数のリターンを合計する方法は?

分類Dev

JSONデータから変数の合計を計算する方法は?

分類Dev

javascriptを使用してデータベースと新しい値から自動計算値を作成する方法

分類Dev

データフレームの行の値を別のデータフレームの複数の行と比較する方法(計算を含む)

分類Dev

簡単なデータベースを設計する方法

分類Dev

データベースを設計する正しい方法

分類Dev

複数の支払い方法で支払いデータベースを設計するためのより良い方法

分類Dev

同じアプリケーションで複数のPouchDBデータベースを作成することは悪い設計と見なされますか?

分類Dev

データベースの計算で10進値を取得する

分類Dev

pysparkデータフレームの値の条件付き確率を計算する方法は?

分類Dev

複数のデータフレームを持つリストの平均を計算する最速の方法

分類Dev

複数のgroupby列を持つOHLCデータからピボット値を計算する方法

分類Dev

ドミニオンカードを保持するためのデータベースを設計する方法は?

分類Dev

異なるデータフレームの列間の数値の違いを計算する方法は?

Related 関連記事

  1. 1

    データの複数の列を計算する方法は?

  2. 2

    mysqlで複数の条件値の合計を計算する方法

  3. 3

    データベース(休止状態)でテーブルの値を計算する方法は?

  4. 4

    SQLServerデータベースで平均を計算する方法

  5. 5

    PHPを使用して複数のデータベース行から配列要素の数の合計を計算する方法は?

  6. 6

    プレデータベースの設計方法を理解する

  7. 7

    Elasticsearch:集計で複数のフィルターと計算を使用する方法は?

  8. 8

    SGDClassifierのデータの損失関数の値を計算する方法は?

  9. 9

    計算のために複数の数値データセットを処理する方法は?

  10. 10

    Pandasデータフレームの統計値を計算する方法は?

  11. 11

    SQLデータベース設計:リストの保存を回避する方法は?

  12. 12

    合計列の値を合計する方法、つまり小計を計算する方法は?合計はデータベースからのものではないため

  13. 13

    データベース値の合計を計算するにはどうすればよいですか

  14. 14

    それは可能ですか?クエリのみを使用して数値とデータベース列の値を合計する方法

  15. 15

    リンクごとに複数の画像を表示するようにサイトのデータベースを設計および最適化する方法

  16. 16

    条件付きで複数のリターンを合計する方法は?

  17. 17

    JSONデータから変数の合計を計算する方法は?

  18. 18

    javascriptを使用してデータベースと新しい値から自動計算値を作成する方法

  19. 19

    データフレームの行の値を別のデータフレームの複数の行と比較する方法(計算を含む)

  20. 20

    簡単なデータベースを設計する方法

  21. 21

    データベースを設計する正しい方法

  22. 22

    複数の支払い方法で支払いデータベースを設計するためのより良い方法

  23. 23

    同じアプリケーションで複数のPouchDBデータベースを作成することは悪い設計と見なされますか?

  24. 24

    データベースの計算で10進値を取得する

  25. 25

    pysparkデータフレームの値の条件付き確率を計算する方法は?

  26. 26

    複数のデータフレームを持つリストの平均を計算する最速の方法

  27. 27

    複数のgroupby列を持つOHLCデータからピボット値を計算する方法

  28. 28

    ドミニオンカードを保持するためのデータベースを設計する方法は?

  29. 29

    異なるデータフレームの列間の数値の違いを計算する方法は?

ホットタグ

アーカイブ