A表 
城市设备对应表
字段
city \\城市
equipment \\设备,一个城市有多台设备B表
设备端口对应表
equipment  \\设备
port \\端口,一个设备有多个端口需要查找某个城市内的设备总数及端口总数
一个SQL语句能否实现?

解决方案 »

  1.   

    select a.city,nvl2(b.equipment,count(1),0 ),b.op
    from a,
    (select equipment ,count(1) cp
    from b
    group by equipment 
    ) b
    where a.equipment =b.equipment (+)
    group by a.city,b.op
      

  2.   

    错了
    select a.city,nvl2(b.equipment,count(1),0 ),sum(b.op) 
    from a, 
    (select equipment ,count(1) cp 
    from b 
    group by equipment 
    ) b 
    where a.equipment =b.equipment (+) 
    group by a.city
      

  3.   

    学习oracle-merge用法详解
      Oracle 10g中对Merge语句的增强