日期:2014-05-18  浏览次数:20393 次

求一条SQL语句。
SQL code


有张表test如下:

证件号     违章类型     违章日期     所扣分数     ID
D123         A          2012-06-01      -1         1
D123         A          2012-06-10      -2         2
D121         A          2012-06-10      -1         3
D123         A          2012-06-11      -2         4
D121         A          2012-06-12      -1         5
D122         A          2012-06-11      -1         6


现在希望把一段时间内(2012-06-05至2012-06-12)的所扣分数总数超过2分的记录找出来,

我写了如下的SQL语句:

SELECT [证件号],sum(所扣分数) as 所扣总分数
  FROM test where 违章日期>='2012-06-05' and 违章日期<='2012-06-12'
 GROUP by [证件号] having sum(所扣分数)<=-2 

得到的表为:

证件号    所扣总分数
D121         -2
D123         -4

现在希望得到这样的表如下:(因为违章类型都是一样的)

证件号    所扣总分数     违章类型
D121         -2            A
D123         -4            A



那么该如何写这条SQL语句呢?





 

------解决方案--------------------
SQL code
SELECT [证件号],sum(所扣分数) as 所扣总分数,违章类型
  FROM test where 违章日期>='2012-06-05' and 违章日期<='2012-06-12'
 GROUP by [证件号],违章类型 having sum(所扣分数)<=-2