0
category  table 

-----------------------
catid  | catname
-------------------------

Deal table
------------------------
dealid |  name | catid |
-----------------------


Cement Table
-----------------------
cid |  cname  | catid
-----------------------

ordertable
---------------------
oid | oname | catid
---------------------

上記の 3 つのテーブルで、catid の合計数を取得したいのですが、order by desc 句を使用しています。SQL クエリの書き方は?

the result like this way

catid  catcount catname
-----------------------
1       20        xxx
2       19        YYY 
4

1 に答える 1

1

を使用しunionて、すべてのタイプのカテゴリを含むサブクエリを作成できます。

select  c.name
,       count(*) as TotalCount
from    (
        select  catid
        from    deal
        union all
        select  catid
        from    comment
        union all
        select  catid
        from    ordertable
        ) as lst
join    category c
on      c.catid = lst.catid
group by
        c.name
order by
        count(*) desc
于 2012-08-11T11:06:52.740 に答える