日付、ユーザー名、およびその日付の12のoperation_idの1つを含むクエリが必要です。例えば
operations
"id";"name";
"1";"LASER CUTTING"
"2";"DEBURR"
"3";"MACHINING"
"4";"BENDING"
"5";"PEM"
"6";"WELDING"
"7";"PAINT PREPARATION"
"8";"PAINTING"
"9";"SILKSCREEN PREPARATION"
"10";"SILKSCREEN"
"11";"ASSEMBLY - PACKAGING"
"12";"LASER PREP";
およびユーザーテーブル
bob
jimmeh
jimbo
次のようなものを取得するために、これらのテーブル間にクロス結合があります。
bob 1
bob 2
bob 3
bob 4
bob 5
bob 6
bob 7
bob 8
bob 9
bob 10
bob 11
bob 12
jimmeh 1
jimmeh 2
jimmeh 3
jimmeh 4
jimmeh 5
jimmeh 6
jimmeh 7
jimmeh 8
jimmeh 9
jimmeh 10
jimmeh 11
jimmeh 12
jimbo 1
jimbo 2
jimbo 3
jimbo 4
jimbo 5
jimbo 6
jimbo 7
jimbo 8
jimbo 9
jimbo 10
jimbo 11
jimbo 12
しかし、2011年1月1日から現在まで毎日クロスジョインしたいと思います。これにより、このクエリを使用して、毎日のすべての操作のすべての人のレコードを取得し、ピボットテーブルに配置できるようになります。これを使用して、各操作の各ユーザーの各週のレポートを作成します。
今のところ、db.usersから簡単に選択したユーザーIDがあります。departmentid=8の操作に参加します。
私はこれを試しました:
select
userid,
first_name,
last_name,
operations.id,
operations.name
from
protocase.tblusers
join
operations
join
select (BETWEEN "2011-01-01" and NOW())
where
departmentid = 8 and
protocase.tblusers.active = 1
(1,2,3)またはテーブル以外のものを選択する方法と似ていますが、1月1日から現在までのすべての日付を選択する方法がわからないようです。これも可能ですか?