请教一个SQL存储过程的问题

jcxpy910 2016-03-21 02:29:38
如图1和图2:



怎么修改这个存储过程,可以将图1变成图2那种显示,就是对于同一个人不同时间的数据,合成一行。
存储过程如下:

PS:如果再存储过程中加入sum函数倒是可以变为一行,但是我的Result这个列的数据类型并不是int,而是varchar。
所以,恳请大家帮帮忙,看看怎么改才能解决
...全文
129 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jcxpy910 2016-03-21
  • 打赏
  • 举报
回复
谢谢了。。。学习学习
中国风 2016-03-21
  • 打赏
  • 举报
回复
引用 10 楼 jcxpy910 的回复:
再问最后一个问题,查询时间段用between and 还是用datediff函数好啊。。
between and 会用到索引不需要计算
jcxpy910 2016-03-21
  • 打赏
  • 举报
回复
再问最后一个问题,查询时间段用between and 还是用datediff函数好啊。。
jcxpy910 2016-03-21
  • 打赏
  • 举报
回复
去掉 WHERE name=@mm AND 科室=@nn 之后,可以了
jcxpy910 2016-03-21
  • 打赏
  • 举报
回复
嗯,试了一下。运行过后是这样的。 而且点击查询没反应。。 @中国风
中国风 2016-03-21
  • 打赏
  • 举报
回复
把@mm,@nn加上,看看效果
DECLARE @sql NVARCHAR(MAX);
--用unicode
SET @sql = 'Select Name as 姓名';
 
SELECT  @sql = @sql + ',MAX(case 时间 when ''' + 时间
        + ''' then Result end) [' + 时间 + CHAR(10) + '周'
        + RTRIM(DATEPART(dw , DATEADD(dd , -1 , 时间))) + ']'
from (select distinct convert(varchar(10),时间,120) as 时间 from cj WHERE name=@mm AND 科室=@nn) as cj  
Select @sql = @sql+' from cj where name='''+@mm+'''and 科室='''+@nn+''' group by name'
jcxpy910 2016-03-21
  • 打赏
  • 举报
回复
不是合并值。 第一张和第二张图片里面的”X“这个值,就是result这个列的值。我是想同一个人的不同时间所对应的Result这个列的值能都显示在一行里面,不是合并。就像第二张图那样的。版主,应该怎么修改啊。不用sum和max吧,因为值不能取数字,取得是汉字 @中国风
中国风 2016-03-21
  • 打赏
  • 举报
回复
把以上方法,改为max,不会合并 比如有a/b,只会取b,而不会取ab--合并值 你是要实现合并值 ?
jcxpy910 2016-03-21
  • 打赏
  • 举报
回复
不是啊。result返回的值是字母或者汉字。sum和max只能适合int类型的吧,也就是数字。 而result这个列中的值是这样的 恩,我会学习的 @中国风
中国风 2016-03-21
  • 打赏
  • 举报
回复
from (select distinct convert(varchar(10),时间,120) as 时间 from cj WHERE name=@mm AND 科室=@nn) as cj  
Select @sql = @sql+' from cj where name='''+@mm+'''and 科室='''+@nn+''' group by name'


看方法应该改改,刚看了一下之前有回复过

你学会怎样提问,你语句用COPY而不是截图?大家没时间浪费一个个看图敲语句

http://bbs.csdn.net/topics/340199145
中国风 2016-03-21
  • 打赏
  • 举报
回复
字符串,你取最大就行了 方法相同 把sum-->max
中国风 2016-03-21
  • 打赏
  • 举报
回复
字符串把 sum 改为 max/min--取最大或最小

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧