如何在SQL Server中编写此SQL查询?

时间:2013-11-23 12:51:24

标签: sql sql-server database sql-server-2008 tsql

这是图表:

Diagram

我有3张桌子:

  1. 一卷
  2. Aya有两个外键:

    1. 的PageId
    2. JuzId
    3. 我想写一个查询来了解每个Juz中有多少页面(图中用黄线表示)

      我尝试过:

      select juzid, count(pageid) as page_count
      from ayas
      group by juzid
      

      但是这让我知道每个Juz中都有aya。而不是多少页。

1 个答案:

答案 0 :(得分:2)

由于关联是一对多的,因此每个juz需要计算不同的页面;

SELECT juzid, COUNT(DISTINCT pageid) cnt 
FROM aya 
GROUP BY juzid