编辑:我需要在那里减去直接和间接分钟的总数。SELECT语句子查询
我想要SUM M.分钟作为别名“dminutes”。然后,再次取M.minutes的SUM并减去具有“间接”列值的M.minutes(并给它“inminutes”别名)。但是,它显示为空,所以语法错误。建议?
table = tasks
column = task_type
Example:
M.minutes total = 60 minutes
M. minutes (with "direct" task_type column value) = 50 minutes (AS dminutes)
M. minutes (with "indirect" task_type column value) = 10 minutes (AS inminutes)
SQL语句:
SELECT
U.user_name,
SUM(M.minutes) as dminutes,
ROUND(SUM(M.minutes))-(SELECT (SUM(M.minutes)) from summary s WHERE ta.task_type='indirect') as inminutes
FROM summary S
JOIN users U ON U.user_id = S.user_id
JOIN tasks TA ON TA.task_id = S.task_id
JOIN minutes M ON M.minutes_id = S.minutes_id
WHERE DATE(submit_date) = curdate()
AND TIME(submit_date) BETWEEN '00:00:01' and '23:59:59'
GROUP BY U.user_name
LIMIT 0 , 30
我认为你是正确的,在正确的轨道上!虽然,我得到一个语法错误..我试过调整它,但它不喜欢临时表加入“ON iuser_id = duser_id”。错误:#1064 - 你的SQL语法错误;检查与你的MySQL服务器版本相对应的手册,在'ON iuser_id = duser_id'附近使用正确的语法'' – Mike
你是我的朋友,是某种巫师!哈哈它完美的工作,谢谢你! – Mike
这对我来说很疯狂,需要多少编码才能在Mysql中进行简单的减法工作。不要误解我的意思,我喜欢它,因为我只需要做一次,然后声明就会永远使用,但是人......大声笑 – Mike