select a.姓,count(1) from 姓氏表 a,姓名表 b where substr(b.姓名,1,2)=a.姓先试试看可以不!)

解决方案 »

  1.   

    select a.姓, sum(decode(b.姓名,null.0,1)) from a,b where a.姓=substr(b.姓名(+),1,1) group by a.姓
      

  2.   

    select a.姓,count(1) from 姓氏表 a,姓名表 b where substr(b.姓名,1,2)=a.姓 group by a.姓 忘了个东西!试试看吧!)
      

  3.   

    我觉得好要考虑复姓稍做修改
    select a.姓, count(*) from a,b where a.姓=substr(b.姓名,1,length(a.姓)) group by a.姓
      

  4.   

    对,要考虑复姓,开始没考虑到 :)
    select a.姓, sum(decode(b.姓名,null.0,1)) from a,b where a.姓=substr(b.姓名(+),1,length(a.姓)) group by a.姓这里面用了左连接,因为有的姓氏在姓名表中可能没有人。