社区
MS-SQL Server
帖子详情
求这样的SQL语句,我脑子转不过来了。
bjzhanghao
2003-05-07 07:05:35
有两个表,一个person(personid,personname)和另一个status(personid,status,dt),dt是datetime类型的代表人进入状态的时间,status是整型的。
因为一个人可以有好几个状态,我想得到一个列表r(personid,dt,status),里面列出每个人的所有状态,但同一天里的状态只要最晚的那个。
我想了好久也不知道该怎么弄,我是想做成一个视图,而不是存储过程。很着急,谢谢大家了。
...全文
95
7
打赏
收藏
求这样的SQL语句,我脑子转不过来了。
有两个表,一个person(personid,personname)和另一个status(personid,status,dt),dt是datetime类型的代表人进入状态的时间,status是整型的。 因为一个人可以有好几个状态,我想得到一个列表r(personid,dt,status),里面列出每个人的所有状态,但同一天里的状态只要最晚的那个。 我想了好久也不知道该怎么弄,我是想做成一个视图,而不是存储过程。很着急,谢谢大家了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjzhanghao
2003-05-07
打赏
举报
回复
好了,我想真正运行起来不会出现这种情况的,呵呵
谢谢二位,结帐了。
pengdali
2003-05-07
打赏
举报
回复
你的数据列一部分出来
bjzhanghao
2003-05-07
打赏
举报
回复
是在同一天里同一时刻有两个状态的时候出现上面我说的问题,能解决吗?
bjzhanghao
2003-05-07
打赏
举报
回复
不行啊,用两位说的语句都试了,存在重复的记录(同一天同一个人的状态出现多次,而不只是当天最晚的状态记录),再帮忙看看好吗?
nboys
2003-05-07
打赏
举报
回复
create view view_name
as
select * from status s where dt=(select max(dt) from status where personid=s.personid)
pengdali
2003-05-07
打赏
举报
回复
select a.personid,b.status,b.dt from person a,(select * from status 别名 where dt=(select max(dt) from status where personid=别名.personid)) b where a.personid=b.personid
nboys
2003-05-07
打赏
举报
回复
select * from status s where dt=(select max(dt) from status where personid=s.personid)
省市区
sql语句
就是导出来的
sql语句
,方便大家在进行省市区联查的时候使用,我本来想用0积分的,当是最小的才是1积分,对不住各位了。
易语言批量sql解析为数组, SQL终结符解析
前段时间在写一个服务端程序的时候, 需要用到mysql.客户端连接服务端执行sql分好几种情况, { 查询SQL, 执行SQL, 执行SQL事务, 批量执行支持, 查询执行混合 } ...其中的"批量执行"就有点让我头疼, 玩过sql的都知道, 批量执行一般以";" 终结符算一条
sql语句
, 以此分割.难点就是把批量的
sql语句
, 分割为单条, 一个一个的执行. 估计有的易友可能想到了"分割文本, 发送文本数组"。首先"发送文本数组", 我不喜欢, 有时候显得麻烦.其次"分割文本", 你可能会遇到这样以下这样的情况, 也就是sql字符串中出现了";", 你能怎么办? 你也很绝望对吧?。复制代码。[font=微软雅黑]INSERT INTO `User`(name) values('剑''齿;虎'); SELECT LAST_INSERT_ID();[/font]。以上问题还有, 字符串中包含单引号就需要用两个单引号表示....实在不想屈服于前面两种蛋疼的方式, 试着自己封装子程序解析, 忽略字符串什么的. 有时候
脑子
是个好东西, 可惜我好像没有似的... 感觉设
易语言-易语言批量sql解析为数组, SQL终结符解析
前段时间在写一个服务端程序的时候, 需要用到mysql. 客户端连接服务端执行sql分好几种情况, { 查询SQL, 执行SQL, 执行SQL事务, 批量执行支持, 查询执行混合 } ... 其中的"批量执行"就有点让我头疼, 玩过sql的都知道, 批量执行一般以";" 终结符算一条
sql语句
, 以此分割. 难点就是把批量的
sql语句
, 分割为单条, 一个一个的执行. 估计有的易友可能想到了"分割文本, 发送文本数组" 首先"发送文本数组", 我不喜欢, 有时候显得麻烦. 其次"分割文本", 你可能会遇到这样以下这样的情况, 也就是sql字符串中出现了";", 你能怎么办? 你也很绝望对吧? 复制代码 [font=微软雅黑]INSERT INTO `User`(name) values('剑''齿;虎'); SELECT LAST_INSERT_ID();[/font] 以上问题还有, 字符串中包含单引号就需要用两个单引号表示.... 实在不想屈服于前面两种蛋疼的方式, 试着自己封装子程序解析, 忽略字符串什么的. 有时候
脑子
是个好东西, 可惜我好像没有似的... 感觉设计起来还挺复杂麻烦的, 我没学过什么脚本设计, 编译设计的. 于是前段时间论坛有几个帖子被顶起来了, 一个叫"无间酱"的大佬制作了好几个练手的脚本语言设计, 我灵机一动... 脚本也会遇到这样的问题, 就把源码中的解析终结符部分给抠出来了... 总算说到重点了. 刚开始还不能直接用, 改了改还算可以了. 示例 复制代码 INSERT INTO User (name,pwd) values('剑齿虎;哇', 'aabb');--注释A:插入语句-- SELECT * FROM User; /*注释B:查询*/ UPDATE User SET pwd='ac''c' WHERE uid=1 结果: 数组:3{ “INSERT INTO User (name,pwd) values('剑齿虎;哇', 'aabb');”, “--注释A:插入语句-- SELECT * FROM User;”, “/*注释B:查询*/ UPDATE User SET pwd='ac''c' WHERE uid=1” }
SQL语法手册
如果您不是专业数据库使用人员,您在使用数据库时,免不了会遗忘
SQL语句
。花时间背??平时工作和学习,
脑子
就够乱了吧。
还是用本手册吧,方便,快捷。
SqlSever数据库题.docx
SqlSever数据库题
MS-SQL Server
34,838
社区成员
254,631
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章