質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

解決済

2回答

380閲覧

Mysqlの細かなデータ割り振りについて

seri

総合スコア422

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

1クリップ

投稿2017/11/05 12:49

編集2017/11/05 12:50

例として給料の配分を上げます

以下のような曜日毎の時給額がデータベースに有るとします

AさんBさん
月曜10001200
火曜NULL1200
水曜10001000
木曜NULL1200
金曜10001200
土曜1000NULL
日曜1000NULL

この場合、曜日ごとに該当する金額をデータベースに保存すればいいわけですが、ここでAさんの日曜夜の時間帯だけは給料を上げたいとした場合どのような実装になるのでしょうか?

Aさんの日曜給料
0~6時NULL
6~12時NULL
12~18時1000
18~24時1200

方法としてはBさんのデータも時間毎に設定し、全て時間帯で管理するとゆうものがありますが
出来たらまとめて管理出来ないものかと思い、色々調べたのですが最適な情報を見つける事が出来ず、質問させていただきました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

すべての曜日、すべての時間帯に対して個別に時給設定をするのが妥当ですが
日曜の18-24だけ200円加算するという考え方もあるでしょう。

投稿2017/11/06 01:13

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

「出来たらまとめて管理出来ないものか」というのが良く分かりませんが
時間指定がある人(Aさん)とない人(Bさん)がいるのに全てを時間毎にしたくないということだと理解しました。
(まとめるというか、分けるということですよね。)

時間指定の条件は別テーブルにして、Aさんの条件だけをそちらのテーブルに登録しておけば良いのではないでしょうか。

人と曜日でLEFT JOINすれば時間指定がある人とない人の区別もできますし
時間指定がある人ならば、判定を入れて該当の時給を取り出せるようにもできるかと思います。

投稿2017/11/06 01:09

yuki-saito

総合スコア928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seri

2017/11/06 01:19

説明が不十分でした。 曜日毎に割り振る人と時間毎に割り振る人、それぞれ格納場所をわけるとゆうことですね。なるほど、そのほうがすっきりする気がします 参考にさせていただきます。
yuki-saito

2017/11/06 01:27

完全に分けるというアドバイスではありませんでした・・・ 完全に分けるといちいち参照先のテーブルを変えてクエリを発行しなければいけないので面倒です。 今のテーブルにプラスして時間指定の条件を登録したテーブルがあれば良いのかなと思いました。 最初のテーブルがX、指定指定のテーブルをYとした場合 時間指定がある人のXテーブルの金額はどうする?という話もあるかと思いますが 例えば、Xにはベースの金額を設定しておいて、時間指定の方には+200円を設定する等 やりやすい方法を取れば良いかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問