前面收藏了别人的SQL语句操作,可是没有实战,也未知学的如何
正好今天有个事需要做一下
(sql server 2000)
三个表:stuInf,sType,sinInf分别为学生信息表,类型表,信息录入表
stuInf(ID,stuID,stuName,stuFirst,stuSecond)
sType(ID,stname,stRecord)
sinInf(ID,stuID,stID,addDate)
现在想查 所有的学生信息,并把在 sinInf中出现的次数也给查出来。
正好用上了:
直接上SQL
select a.stuID,a.stuName,a.stuFirst,a.stuSecond,b.stName,count(c.stuID) as times from stuInf a,sType b,sinInf c
where a.stuID=c.stuID and b.ID=c.stID group by (a.stuID,a.stuName,a.stuFirst,a.stuSecond,b.stName)
可是总是提示错误:在","附近出现语法错误
试了和各种组合不好用,这种表示在 oracle 11g中是没有问题的。
oracle 11g 如下是没有问题的:
select a.ztm,a.zrz,count(b.kzh) from zyk a,zykdck b where a.kzh=b.kzh group by (a.ztm,a.zrz)
最后老老实实的一个字段一个字段的加,
发现sql server 2000 下把括号去掉就可以了:
select a.stuID,a.stuName,a.stuFirst,a.stuSecond,b.stName,count(c.stuID) as times
from stuInf a,sType b,sinInf c
where a.stuID=c.stuID and b.ID=c.stID group by a.stuID,a.stuName,a.stuFirst,a.stuSecond,b.stName