Объединить 2 запроса в разных колонках - PullRequest
0 голосов
/ 07 ноября 2019

Мне нужно объединить 2 запроса в базе данных, но поместить его в 2 разных столбца

Я попытался объединение, но результат в том же столбце "Всего полный рабочий день"

(SELECT (SUM(servicehours) + SUM(`teachinghours`) + SUM(`researchhours`)) as 'Total fulltime'
 FROM staff_hour sh,staff s,role r 
WHERE r.roleid =s.roleid  
AND s.staffid = sh.staffid
 AND r.roleid='2'
 AND sh.staffperiodyear = 'FY2018') 
union 
(SELECT (SUM(servicehours) + SUM(`teachinghours`) + SUM(`researchhours`)) as 'Total parttime' 
FROM staff_hour sh,staff s,role r 
WHERE r.roleid =s.roleid  
AND s.staffid = sh.staffid
 AND r.roleid='3' 
AND sh.staffperiodyear = 'FY2018')

Какмне присоединиться к нему, чтобы было 2 разных столбца («полный рабочий день» и «общий неполный рабочий день») с общей суммой?

1 Ответ

0 голосов
/ 07 ноября 2019

Вы можете использовать свои запросы с перекрестным соединением

select  t1.Total_fulltime
      , t2.Total_parttime
      ,  t1.Total_fulltime + t2.Total_parttime total_sum
  from  (SELECT (SUM(servicehours) + SUM(`teachinghours`) + SUM(`researchhours`)) as Total_fulltime
   FROM staff_hour sh,staff s,role r 
  WHERE r.roleid =s.roleid  
  AND s.staffid = sh.staffid
   AND r.roleid='2'
   AND sh.staffperiodyear = 'FY2018')  t1
   CROSS JOIN 
  (SELECT (SUM(servicehours) + SUM(`teachinghours`) + SUM(`researchhours`)) as Total_parttime
  FROM staff_hour sh,staff s,role r 
  WHERE r.roleid =s.roleid  
  AND s.staffid = sh.staffid
   AND r.roleid='3' 
  AND sh.staffperiodyear = 'FY2018') t2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...