菜鸟高分请教select语句:在线急等
展开全部
select 60 - sum(DATEPART(mm,aaa) ) from AA
----------------
原理:7+8+9+10+11+12+1+2=60,把月份求和,用60减去和,就知道是少哪个月了
----------------
原理:7+8+9+10+11+12+1+2=60,把月份求和,用60减去和,就知道是少哪个月了
更多追问追答
追问
大哥,我描述的不清楚。我知道是漏了01月的记录,我要找出那些人应该在1月有记录却没有生成记录。每个人(比如字段为AAA)对应会有几条记录分别对应各个月份,而且应该每个月都有,我要找出那些人在元月没记录。
追答
既然知道是1月份没有记录就应该比较好办了
不过我还是看不大明白你说的人和记录之间的关系,靠猜的写吧
随便找一个不是一月份的记录(比如7月),就有所有人,我们先列出这些人
select distinct aaa from AA where DATEPART(mm,年月) =7
然后,我们把一月份的记录,里边的人列出
select distinct aaa from where DATEPART(mm,年月) =1
这样的话,第二个结果会比第一个少那些没记录的人,得到最后语句:
select distinct aaa from AA where DATEPART(mm,年月) =7 and aaa not in (select distinct aaa from AA where DATEPART(mm,年月) =1)
纯手打,不知道有没有错
-------------
刚刚的去除重复错了已改,又却了个表名,你应该会看到的...手打不行啊
select distinct aaa from AA where DATEPART(mm,年月) =7 and aaa not in (select distinct aaa from AA where DATEPART(mm,年月) =1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询