2

次のような構造のデータベースがあります

ユーザー:

    usr_id
    usr_fname
    usr_lname
    usr_uname
    usr_pass

組織:

    org_id
    org_name
    org_address
    org_tel
    org_web
    org_email
    org_cat
    org_desc

部門:

    dpt_id
    dpt_name
    dpt_desc

セクション:

    sec_id
    sec_dpt_id
    sec_name
    sec_desc

指定:

    dsg_id
    dsg_sec_id
    dsg_name
    dsg_desc

従業員:

    emp_id
    emp_fname
    emp_lname
    emp_phone
    emp_email
    emp_addr
    emp_join_dt
    emp_salary
    emp_card_no
    emp_dsg_id
    emp_sft_id

シフト:

    sft_id
    sft_name
    sft_from
    sft_to
    sft_desc

葉:

    lev_id
    lev_emp_id
    lev_frm
    lev_to
    lev_desc

休日:

    hld_id
    thl_tp_id
    hld_st_dt
    hld_end_dt
    hld_cmnt

休日の種類:

    hld_tp_id
    hld_tp_name
    hld_tp_desc

出席:

    att_id
    att_emp_id
    att_time
    att_date
    att_dir

従業員ごとの月次出勤レポートを作成するためにクエリを実行するのを手伝ってくれる人はいますか?

私のレポートは次のようになります。

Date        Attendance     Shift    In time      Out time
---------------------------------------------------------------------
   1        Present          A     12:40 PM      06:40 PM
   2        Absent           A       N/A           N/A
   3
   .
   .
   .
  31        Present          B     07:00 PM      11:00 PM
---------------------------------------------------------------------
Total      

私はこれまでに行ってきました:

select att_date, att_time as in_time, shifts.sft_name from attendance
    join employee on (attendance.att_emp_id = employee.emp_id)
    join shifts on (employee.emp_sft_id = shifts.sft_id)
where att_dir = 'In' and
att_time <= (
    select sft_from from shifts
    where sft_id = (
        select emp_sft_id from employee
        where emp_id = 5
    )
) and
att_date between '2012-04-01' and DATEADD(MONTH,1,'2012-04-01') and
att_date not in(
    select hld_dt from holidays
)

しかし、月のすべての日付のリストが必要であり、このクエリによって取得されたデータはその日付の行に配置する必要があります。助けてください... どうしても必要です。

4

2 に答える 2

0

レポートのビュー、従業員テーブル、出勤テーブル、給与または支払いテーブル (存在する場合)、およびシフト テーブルを含むビューを作成し、ビューを作成してそのビューをレポートに呼び出し、レポートで関数を作成する必要があります。ビューアを開き、そのビューから選択するクエリを指定してください。何か助けが必要な場合はお知らせください。

于 2013-06-13T06:53:54.883 に答える
0

ssrsチャートのSQLクエリ式で存在しない値を処理するをご覧ください

これを機能させるには、日付を含むテーブルが必要です (または、ストアド プロシージャ/共通テーブル式またはその場で日付を生成する別の方法を使用できます)。

于 2012-04-09T07:42:56.637 に答える