需要使用sql查询获取与内容和库表不同的计数

时间:2013-10-24 15:27:29

标签: sql sql-server

我有文件夹,内容,库表。每个文件夹在内容和库表中都有很多内容。 内容和库表与content_id有关。如果我们添加内容,它应该保存内容和库表。 在图书馆表中必须发生删除。某些内容在库表中删除,但在内容表中没有删除。

我想检索特定文件夹ID,该文件夹中内容的数量,该文件夹中库的数量。

我尝试了一些选项,我可以检索文件夹ID(内容表中显示的内容不在库表中)。使用单个查询来检索folder_id计数(content_id内容表),count(content_id库表)

select distinct a.folder_id from (
select c.folder_id,c.content_id, l.content_id as lid from content c left join library l
on c.content_id = l.content_id
where l.content_id is null) a  

结果:

folder_id  ccount lcount countdiff
123         33      30      3

1 个答案:

答案 0 :(得分:0)

也许是这样的?

select
  a.*,
  ccount-lcount as diff
from
    (
    select
      folder_id,
      (select count(*) from content c where c.folder_id=f.folder_id) ccount,
      (select count(*) from library l where l.folder_id=f.folder_id) lcount
    from
      folders
    ) a