【发布时间】:2012-12-19 05:26:40
【问题描述】:
当我执行我的选择查询时,我得到如下结果:
注意:我对 EmpId 和 Absent_dates 列使用了 Group_ConCat() 函数,因为这些列从我的 Select Query 中的其他表返回多个值
我的查询:
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;
执行我的查询后,结果如下:
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中使用什么功能吗? 谢谢
【问题讨论】:
-
不要使用组 concat 函数它会返回相同的答案
-
添加您的查询以进行检查
-
最好添加你的查询,如果你可以在 sqlfiddle 中。你认为我们可以猜到你的查询或者查询会变魔术?