| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:sql 查询问题3
只看楼主 加入收藏
风流上进
Rank: 1
等 级:新手上路
威 望:1
帖 子:63
专家分:0
注 册:2007-7-20
收藏
 问题点数:0 回复次数:3 
sql 查询问题3
某字段 “医疗编号”。
数据由14位数字组成, 前10代表一个户 (如 11010100010111 和 11010100010201 是同一户) 第13位为标志位 为“1” 代表 “户主”,为 “0” 代表 “普通家庭成员”,每户只能有一个户主。但由于录入时出错,会造成 “多户主” 或 “无户主”

想通过语句查出 “多户主” 或 “无户主” 的所有记录 ,“多户主” 的已经解决,

select * from musterroll where left(医疗编号,10) in
(
select 户编号 from
(
select left(医疗编号,10) as 户编号,count(*) as 户主数 from musterroll where right(left(医疗编号,13),1) ='1'
group by left(医疗编号,10)
) as t
where 户主数 >1
)

“无户主” 的不知怎么处理? 那位兄弟帮小弟想一下?

搜索更多相关主题的帖子: sql 查询 
2007-09-11 11:04
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 

where right(left(医疗编号,13),1) ='0' 这样不能行么?


飘过~~
2007-09-11 11:31
ws123
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-7-27
收藏
得分:0 
无户主
就是判断该组是否存在第13位有1的记录
所以可以使用EXISTS判断查询语句是否有相关返回记录

[此贴子已经被作者于2007-9-11 13:44:03编辑过]

2007-09-11 13:38
风流上进
Rank: 1
等 级:新手上路
威 望:1
帖 子:63
专家分:0
注 册:2007-7-20
收藏
得分:0 
EXISTS 不会用..

我是sql菜鸟,谁教我学sql我给他N多Q币 QQ: 353707719 。
2007-09-11 17:56
快速回复:sql 查询问题3
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013596 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved