比较SQL Server中的两列

时间:2016-04-02 14:46:56

标签: sql sql-server

解释起来有点困难,但将在下表中说明。

ID   names     pages
1   maths_1      2  
1   maths_2      2
2   history      1
3   economics    1
4   physics      1

该表格显示book_idbook_name及其总页数

  • maths_1代表数学中的单元1
  • maths_2代表数学中的单元2

所以总数学书有2页

我的问题是:如果表格中有maths_3。如果表退出如下

ID   names     pages
 1   maths_1     2  
 1   maths_2     2
 1   maths_3     2
 2   history     1
 3   economics   1
 4   physics     1

还有一个名为maths_3的页面,但计数仍有2页。在这种情况下,我想要输出类似于下面的内容,这对我来说很容易选择奇数输出

期望的输出:

  ID   names   pages  difference
   1    3       2        1
   2    1       1        0
   3    1       1        0
   4    1       1        0

表名:BOOK

我使用此查询只是为了得到计数,但任何人都可以帮助获得差异

select 
    id, count(names) pagesbynames,
    MAX(pages) pagesentered 
from 
    book 
group by 
    id

从上面的查询我得到这个输出:

ID   pagesbynames   pagesentered  
 1        3               2    
 2        1               1    
 3        1               1     
 4        1               1     

坚持到这里,请有人帮助我获得所需的输出

0 个答案:

没有答案