select クエリを実行すると、以下のような結果が得られます。
注: EmpId および Absent_dates 列に Group_ConCat() 関数を使用しました。これは、選択クエリで列が他のテーブルから複数の値を返しているためです。
私のクエリ:
SELECT Group_Concat(tp.EMPCODE), tp.DEPARTMENT, Group_Concat(d.dte) Absentddate, COUNT(tp.EMPCODE) Totalnoofabsentdates
FROM test_prefixmaster tp
JOIN daterange30 d
LEFT JOIN test_prefixtransactions tpt ON (tp.EMPCODE = tpt.empcode) AND DATE(S_DateTime) = d.dte
WHERE tpt.empcode IS NULL
GROUP BY tp.EMPCODE;
My Query の実行後、以下の結果が得られます。
EmpId Absent_dates Total_no_of_Absent_days
1101 2012-12-02 1
1102,1102 2012-12-02,2012-12-03 2
1104,1104,1104 2012-12-02,2012-12-03,2012-12-04 3
しかし、私の実際の要件は、以下のような結果を表示することです:
EmpId Absent_dates Total_no_of_Absent_days
1101 2012-12-02 1
1102 2012-12-02
1102 2012-12-03 2
1104 2012-12-02
1104 2012-12-03
1104 2012-12-04 3
MySQLで使用する必要がある関数は何ですか? ありがとう