select a.aaa,decode(c.no,null,0,c.no) no from a,
(
    select aaa,count(1) no from b group by aaa
) c
where a.aaa=b.aaa(+)

解决方案 »

  1.   

    列出结构太麻烦一共四个表,关系又很复杂,目前我只想在select中有一个自定义的列来显示某一个表的行数,跟你上面写的意思差不多,原来我是这么写的(当然是错误的)select a.aaa,(select count(*) from b) bbb from a,b where a.aaa = b.aaa你的意思是不是这样写?
    select a.aaa,decode(c.no,null,0,c.no) no from a,
    (
        select count(*) no from b group by aaa
    ) c
    where a.aaa=b.aaa(+)
    我不清楚你这里面为什么要有group by和后面的(+)
      

  2.   

    SELECT T.CONTRACT_NO,
           (SELECT COUNT(*)
              FROM SP_CONTRACT_SUB C
             WHERE T.CONTRACT_NO = C.CONTRACT_NO) num
      FROM SP_CONTRACT T
      

  3.   

    soniczck(城市农作物) 
    的方法好象不可以啊 我开始就是这么做的,它提示“非单组分组函数”这样一个错误我觉得统计其他表的行数 不用一定要有关联吧?比如 WHERE T.CONTRACT_NO = C.CONTRACT_NO 是否可以省略 快要下班了 赶着回家 还有别的事情  谢谢二位!!!
      

  4.   

    --tryselect a.aaa,c.no from a,(select count(1) no from b where ...) c