我是取医院数据,取挂号的人的挂号张数、收费的人的收费张数。
如表 A
 挂号工号,印刷号码
 0000     12345
 0000      123456
 0001     1234567  表B
收费工号 ,印刷号码
0000     22222
0000     23232
0001     32323
0003     23233我现在是  
-------------A
select 挂号工号,
SUM(case when 挂号状态>0 then 1 else -1 end ) as 挂号张数
 from 门诊_挂号数据表 group by 挂号工号    只能取挂号张数。
------------B
 select 收费工号,SUM(case when 发票状态>0 then 1 else -1 end )as 发票张数
 from 门诊_发票信息表 a
 where 收费日期>='20121001' and 收费日期<='20130101' 
  group by 收费工号      只能取发票张数 。
我现在想 这2列能合并在一起显示,可能有些挂号了,但是没收费的 显示 空就行了,同样的有些收费了不挂号的。挂号工号,挂号张数,收费工号,收费张数
0000       100   0000      1200
0001       100   0001      1000
                 0002      1002
0003       120
0004       140   0004      1200
..............
希望能显示出来这种的,求大神解决。
SQl

解决方案 »

  1.   

    select a.挂号工号,
    SUM(case when a.挂号状态>0 then 1 else -1 end ) as 挂号张数,
    b.收费工号,SUM(case when b.发票状态>0 then 1 else -1 end )as 发票张数
     from 门诊_挂号数据表 a ,门诊_发票信息表 b 
     where b.收费日期>='20121001' and b.收费日期<='20130101' 
      group by 挂号工号,收费工号