求一SQL语句 - MS-SQL Server / 基础类
学生实习情况信息
主键 开始日期 结束日期 实习地点 学生id
id begin_date end_date workplace student_id
1 2010-02-02 2010-04-02 131001 3
2 2010-04-02 2010-05-02 131003 3
3 2010-01-02 2010-02-02 131001 1
4 2010-02-02 2010-03-11 131004 1
5 2010-02-04 2010-03-22 131006 5
6 2010-03-02 2010-05-02 131006 7
上表是个学生实习情况信息表,每个学生可能有多条实习信息,以学生id来判断是否为同一个学生的实习信息,以每个学生开始日期最早的那条实习信息为他的初次实习信息,实习地点有6个,都是字典值,从131001至131006,我要统计的是每个实习地点,学生初次实习的人数,是“初次实习”才统计在内,没有学生初次实习的实习地点人数为0,像上表的统计结果就应该是
实习地点 人数
131001 2
131002 0
131003 0
131004 0
131005 0
131006 2
想了一下午头都大了,觉得这个SQL语句很复杂啊,主要是不知道怎么过滤出每个学生的初次实习信息,过滤出来以后就好办了,直接sum(case when workplace=131XXX then then 1 else 0 end) from 过滤出来的子表
为什么没有 131007 或者 131000 呢?
你需要另一张表,存放所有的 实习地点
Select workplace,sum(student_id) from tb group by all workplace
SQL code
Code highlighting produced by Actipro CodeHighlighter (freewar
相关问答:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jas ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
有这样一条SQL
Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_C ......
将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊
多谢,可以啦,高手啊
直接执行就行了
exec ......
A表 有两个字段
id 唯一数字域
InfoTxt text 类型
我现在要把 id 不是14 的所有 InfoTxt字段 文本后面 都加上 'aaa'
按下面执行下来 只有表最后一行加上了 'aaa' ......