从一个结果集中的多个表中选择count(*)

0 sql oracle oracle9i

如何为其他字段的30个表选择count(*).

我想应用时间约束等限制.我有一个表statemaster,dealermaster,businessdetail.

我想要各自的结果statecode,statename.

我想输出像: -

statecode statename count(*) for dealermaster count(*) for business details
01        ca         25                        20
01        au         30                        35

statecode,来自statemaster表的statename

Wil*_*l A 5

虽然这听起来像是一个奇怪的请求,但无论如何我都会提供一个答案,看看你是如何相处的.

你应该能够使用一堆相关的子查询来获得这些结果,如...

SELECT S.statecode,
       S.statename,
       (
              SELECT COUNT(*)
              FROM dealermaster DM
              WHERE DM.statecode = S.statecode
       ) AS COUNT1,
       (
              SELECT COUNT(*)
              FROM businessdetail BD
              WHERE BD.statecode = S.statecode
       ) AS COUNT2
FROM statemaster S
GROUP BY S.statecode, S.statename
Run Code Online (Sandbox Code Playgroud)