【发布时间】:2011-08-18 09:58:52
【问题描述】:
我正在尝试创建一个查询。该查询是工作计划系统的一部分,用于找出系统的每个用户每天被分配多少小时,除了当前正在查看的工作之外的所有工作。
我希望输出具有很好的别名,例如 hours_mon、hours_tue 等。
目前查询如下:
SELECT SUM(alloc.hours), alloc.day
FROM grwp_allocations AS alloc
LEFT JOIN grwp_jobs AS job ON (job.id = alloc.job_id AND job.id != '3')
WHERE alloc.user_id = '35'
AND alloc.deleted = '0'
AND alloc.acknowledged = '0'
GROUP BY alloc.day
这很好用,但我真的想用 hours_ 替换 'SUM(alloc.hours)'...
我尝试了以下方法,但它会抛出错误
SELECT SUM(alloc.hours) AS CONCAT('hours_',alloc.day), alloc.day
表架构: grwp_allocations:
- 身份证
- job_id
- user_id
- 天
- 小时
grwp_jobs:
- 身份证
请记住,我希望数据在末尾可用:
hours_mon、hours_tue、hours_wed 等。其中 'mon'、'tue'、'wed' 等是 DAY 字段中的值,别名的值是(总和)小时数。
谢谢。
【问题讨论】:
-
我想你需要一个准备好的声明。
-
PS 有什么帮助?我正在为系统中的每个用户动态运行查询。
标签: mysql debugging database-design