gpt4 book ai didi

mysql - 此嵌套查询的替代方法?

转载 作者:行者123 更新时间:2023-11-30 23:02:05 26 4
gpt4 key购买 nike

我有以下查询:

SELECT t.assignment_id, 
t.timesheet_id,
t.hours,
(SELECT SUM(tss.hours) FROM timesheets tss
WHERE tss.assignment_id = t.assignment_id) as 'sumhours'
FROM timesheets t

产生:

assignment_id  |  timesheet_id  |   hours  |  sumhours
---------------------------------------------------------
2 2 4.50 8.00
2 3 3.50 8.00
3 4 0.00 0.00
3 5 0.00 0.00

表定义:

'timesheets' (
'timesheet_id' int(11) AUTO_INCREMENT,
'hours' decimal(10,2),
'assignment_id' int(11),
PRIMARY KEY ('timesheet_id'),
CONSTRAINT 'assignment_fk' FOREIGN KEY ('assignment_id') REFERENCES 'assignments' ('assignment_id') ON DELETE CASCADE ON UPDATE CASCADE
)

因此您可以看到,我试图在每个作业的总小时数旁边显示每个时间表上记录的小时数。一个作业可以有多个时间表。有没有更有效的方法来实现这一目标?

最佳答案

您的结果中的小时数有什么用?如果你只需要总和,你可以这样做:

SELECT t.assignment_id, 
t.timesheet_id,
SUM(t.hours)
FROM timesheets t
GROUP BY t.assignment_id, t.timesheet_id

关于mysql - 此嵌套查询的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23553673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com