2014-12-03 6 views
0

есть ли способ объединить эти две команды mysql, чтобы получить одну команду mysql?способ объединить два запроса mysql в один запрос

вот мой первый SQL

select cnt1, cnt2 

from (select sum(cnt) as cnt1   
    from xx_dept_hardware_cnt_v 
) h cross join 
(select sum(cnt) as cnt2   
    from xx_dept_emp_cnt_v   
    where org_cb_id in (select cb_id from xx_dept_hardware_cnt_v) 
) d 

результаты

cnt1  cnt2 
----- ---- 
67  62 

второй MySQL команда

select  s.name software_name, 
      count(s.name) install_qty 

from (select name,version,hardware_id 
    from softwares 
    group by name,version,hardware_id) s , 
    dico_soft ds 

where s.name = ds.extracted 
     and ds.formatted ='OS' 
group by s.name 

результат

software_name   install_qty 
------------   ------------- 
Microsoft Window 7  1 
Microsoft Window 8  42 
Microsoft Window 8.1 2 

, и я пытаюсь получить

software_name   cnt1 cnt2  install_qty 
------------   ----- -----  ------------- 
Microsoft Window 7  67  62   1 
Microsoft Window 8  67  62   42 
Microsoft Window 8.1 67  62   2 
+0

Попробуйте 'union all' между этими двумя запросами –

ответ

0

Попробуйте это:

select cnt1, cnt2 

from (select sum(cnt) as cnt1   
    from xx_dept_hardware_cnt_v 
) h cross join 
(select sum(cnt) as cnt2   
    from xx_dept_emp_cnt_v   
    where org_cb_id in (select cb_id from xx_dept_hardware_cnt_v) 
) d 
union 
select  s.name software_name, 
      count(s.name) install_qty 

from (select name,version,hardware_id 
    from softwares 
    group by name,version,hardware_id) s , 
    dico_soft ds 

where s.name = ds.extracted 
     and ds.formatted ='OS' 
group by s.name 

Если вы хотите дублирующие значения, чем использование объединения всех.

+0

это даст мне два столбца cnt1 и cnt2, мне нужен столбец из первой команды sql, добавленный в столбцы второй sql-команды –

Смежные вопросы