我有两张桌子。 job_table。
job_id job_type job_type *****
1 1 Day *****
2 2 Night
3 3 Day & Night.
4 3 Day & Night.
和task_entry表。
task_entry_id job_type task_option_type
1 1 Day
2 1 Day
3 1 Day
4 2 Night
5 3 Day
6 3 Night
7 3 Day
8 3 Night
如果工作ID为3,那么将有2个条目用于Day,一个用于Night。 否则只有一个条目。
我想获得像这样的task_entries的作业总数,
job_id task_entry_count
1 3
2 1
3 2
即如果job_type为3,则count应为count / 2。 (白天&安培;晚)。 其他计数应该是正常计数。
答案 0 :(得分:2)
您可以JOIN
将两个表放在一起,然后使用GROUP BY
来获取作业总数。
SELECT jt.job_id,
ROUND(SUM (CASE WHEN jt.job_type = 3 THEN 0.5 ELSE 1 END), 0) AS task_entry_count
FROM job_table jt INNER JOIN task_entry te
ON jt.job_type = te.job_type
GROUP BY jt.job_id