sql >> データベース >  >> RDS >> Mysql

DataGridViewのさまざまな行に日時の値を表示します

    次のようなクエリを使用できます:

    SELECT empID, emp_day, MAX(am_in1) as am_in, MAX(am_out1) as am_out, MAX(pm_in1) as pm_in, MAX(pm_out1) as pm_out
    FROM (
    SELECT empID, DATE_FORMAT(`time_stamp`,'%e') as emp_day,
    CASE WHEN am_pm='am' AND in_out='in' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as am_in1,
    CASE WHEN am_pm='am' AND in_out='out' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as am_out1,
    CASE WHEN am_pm='pm' AND in_out='in' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as pm_in1,
    CASE WHEN am_pm='pm' AND in_out='out' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as pm_out1
    FROM attendance
    ) as o
    GROUP BY empID, emp_day
    

    サブクエリは、目的の列とメインクエリグループをフォーマットして、従業員1人につき1日1行を取得します。

    編集:ここにフィドルがあります




    1. SQLLIMITおよびOFFSETクエリを使用してすべてのレコードを選択する

    2. 列が存在するすべてのテーブルから列を選択するにはどうすればよいですか?

    3. PostgreSQLでNULL以外の列を検索する

    4. RTRIMの問題を伴うXMLAGG