[英]filtering results of group_concat, inner join query
新手在這里。 下面的代碼在返回我想要的結果方面做得很好。 唯一的問題是我無法弄清楚如何僅返回某個日期范圍(可在checkdate列中找到)。 我可以通過checkdate日期進行過濾的唯一方法是使用GROUP BY empchecks.checkdate並使用HAVING checkdate> = whatever。 但是我必須GROUP BY employee.enum。 我確定我缺少一些簡單的東西。
SELECT employee_data.a,
employees_data.b, employee_data.c,
GROUP_CONCAT(empchecks.d
ORDER BY empchecks.checkdate
SEPARATOR '<br /> ')
AS checknum,
GROUP_CONCAT(empchecks.checkdate
ORDER BY empchecks.checkdate
SEPARATOR '<br /> ')
AS checkdate,
FROM employees
INNER JOIN empchecks ON employees.enum = empchecks.enum
GROUP BY empchecks.enum
您需要添加一個WHERE子句。 還有一個小小的更正AS checkdate
校驗日期之后的最后一個逗號不應在那里。
SELECT employee_data.a, employees_data.b, employee_data.c,
GROUP_CONCAT(empchecks.d ORDER BY empchecks.checkdate SEPARATOR '<br /> ') as checknum,
GROUP_CONCAT(empchecks.checkdate ORDER BY empchecks.checkdate SEPARATOR '<br /> ') as checkdate
FROM employees
INNER JOIN empchecks
ON employees.enum = empchecks.enum
WHERE empchecks.checkdate >= @begin_date
AND empchecks.checkdate <= @end_date
GROUP BY empchecks.enum;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.