当前位置: 代码迷 >> PB >> 有两个表table1和table2,怎么把两个表中提取出来的数据,合并到一个表中呢?如下
  详细解决方案

有两个表table1和table2,怎么把两个表中提取出来的数据,合并到一个表中呢?如下

热度:87   发布时间:2016-04-29 06:44:55.0
有两个表table1和table2,如何把两个表中提取出来的数据,合并到一个表中呢?如下

各位大侠,有两个表table1和table2,从table1中取得数据(ename,count1(*)),从table2中取得数据(ename,count2(*)),如何把把两个表中取得的数据放到一个数据窗口,并算出table2的人数占table1人数的百分比呢。格式如下:

ename  count1(*)  count2(*)   count2(*)/count1(*)

张三      10        4             0.4
李四      8         2             0.25 
王五      6         2             0.33

 

------解决方案--------------------
直接用1条SQL语句完成即可
select ename, max(c1) as c1, max(c2) as c2, case max(c1) when 0 then 0 else cast(max(c2) as decimal(2)) / max(c1) end as div
from
( select ename, count(*) as c1, 0 as c2 from table1 group by ename
union all
  select ename, 0 as c1, count(*) as c2 from table2 group by ename
) a
group by ename

------解决方案--------------------
引用:
引用:
直接用1条SQL语句完成即可

SQL code
select ename, max(c1) as c1, max(c2) as c2, case max(c1) when 0 then 0 else cast(max(c2) as decimal(2)) / max(c1) end as div
from
( select ename, co……


你在sql中,给表2写一个空列不就成了