征求好的算法(SQL SERVER)

painus 2003-05-10 09:58:03
征求好的算法
这是一张表
CorpNo CorpName 服务时间
10001 A公司 2003-01-01
10002 B公司 2003-01-01
10003 C公司 2003-01-01
10004 A公司 2003-01-01
10001 A公司 2003-01-10
10002 B公司 2003-01-10
10003 C公司 2003-01-10
10004 D公司 2003-01-10
...

想把他搞成这个样
CorpNo CorpName 1日 2日 3日 ... 10日 .....
10001 A公司 2 0 0 1
10002 B公司 1 0 0 1
10003 C公司 1 0 0 1
10004 D公司 0 0 0 1

有没有办法实现,或者写上一个好的视图后,我再用VB来调整
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
painus 2003-05-12
  • 打赏
  • 举报
回复
To:: pengdali(大力) 写清楚一点,提示"在关键字 'from' 附近有语法错误。"
joygxd 2003-05-12
  • 打赏
  • 举报
回复
delcare @sql varchar(8000)
set @sql = 'select CorpNo,CorpName '
select @sql =@sql + ',sum(case when day(服务时间) = ''' + day(服务时间) + ''' then 1 else 0 end) as '+ convert(varchar(10),day(服务时间))
from (select distinect day(服务时间) from table

exec (@sql+' from a group by CorpNo,CorpName ')
pengdali 2003-05-12
  • 打赏
  • 举报
回复
declare @sql varchar(100)
set @sql = 'select CorpNo,CorpName '
select @sql =@sql + ',sum(case when day(服务时间)= ''' +cast(aa as varchar(10))+ ''' then 1 else 0 end) ['+cast(aa as varchar(10))+']'
from (select distinct day(服务时间) aa from 你的表) tem

exec (@sql+' from 你的表 group by CorpNo,CorpName ')
pengdali 2003-05-12
  • 打赏
  • 举报
回复
提示"在关键字 'exec' <<======你那里写了exec ????

附近有语法错误
caiyunxia 2003-05-10
  • 打赏
  • 举报
回复
delcare @sql varchar(100)
set @sql = 'select CorpNo,CorpName '
select @sql =@sql + ',sum(case when day(服务时间) = ''' + day(服务时间) + ''' then 1 else 0 end) as '+ convert(varchar(10),day(服务时间))
from (select distinect day(服务时间) from table

exec (@sql+' from a group by CorpNo,CorpName ')
new_life 2003-05-10
  • 打赏
  • 举报
回复
select CorpNo,CorpName,
sum(case day(服务时间)=1 then 1 else 0 end) as 1日,
sum(case day(服务时间)=2 then 1 else 0 end) as 2日,
sum(case day(服务时间)=3 then 1 else 0 end) as 3日,
sum(case day(服务时间)=4 then 1 else 0 end) as 4日,
......
from A
group by corpno,corpname
red9152 2003-05-10
  • 打赏
  • 举报
回复
笨方法:对“服务时间”GROUP BY 一下,建一个临时表,字段就是各个“服务时间”,然后读取临时表。
painus 2003-05-10
  • 打赏
  • 举报
回复
为和我写出来通不过呢?
new_life(浮云游子) 的改为
select CorpNo,CorpName,
sum(case when day(服务时间)=1 then 1 else 0 end) as 1日,
sum(case when day(服务时间)=2 then 1 else 0 end) as 2日,
sum(case when day(服务时间)=3 then 1 else 0 end) as 3日,
sum(case when day(服务时间)=4 then 1 else 0 end) as 4日,
......
from A
group by corpno,corpname
不行
caiyunxia(monkey) 兄的为提示"在关键字 'exec' 附近有语法错误。"
我找了很久没有找到错误!
yoki 2003-05-10
  • 打赏
  • 举报
回复
select CorpNo,CorpName,
sum(case day(服务时间)=1 then 1 else 0 end) as 1日,
sum(case day(服务时间)=2 then 1 else 0 end) as 2日,
sum(case day(服务时间)=3 then 1 else 0 end) as 3日,
sum(case day(服务时间)=4 then 1 else 0 end) as 4日,
......
from A
group by corpno,corpname
内容概要:本文档是一份关于开发经典小游戏“贪吃蛇”的保姆级毕业设计指导文档,涵盖从游戏规则、功能设计、技术选型到核心代码实现的完整流程。文档以Python + Pygame为技术栈,详细讲解了游戏初始化、蛇的移动逻辑、食物生成、碰撞检测、计分与等级系统、键盘控制及主循环渲染等核心模块,并提供了完整的项目结构和源码示例。采用状态机管理游戏状态,使用列表模拟链表结构存储蛇身,结合方向缓冲机制优化操作体验,同时引入难度递增机制提升可玩性。文末还列举了飞机大战、扫雷、五子棋等同类课题作为拓展参考。; 适合人群:具备一定编程基础、正在进行毕业设计或课程设计的学生,尤其是对游戏开发感兴趣的初级开发者。; 使用场景及目标:①帮助学生独立完成一个功能完整、结构清晰的小游戏项目,用于毕业答辩或课程展示;②深入理解事件驱动编程、状态管理、碰撞检测、定时刷新等基础编程概念;③掌握Python + Pygame开发2D小游戏的核心技能,并具备二次开发与功能拓展能力。; 阅读建议:建议读者按照“规则→设计→代码→运行”的顺序逐步学习,动手实践每个模块并调试代码,重点关注方向缓冲、状态机、食物生成算法等设计细节,同时可尝试实现文末提出的拓展功能以增强项目亮点。

34,876

社区成员

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

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