注册 登录
编程论坛 SQL Server论坛

sql 查询问题3

风流上进 发布于 2007-09-11 11:04, 538 次点击
某字段 “医疗编号”。
数据由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
)

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

3 回复
#2
bygg2007-09-11 11:31

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

#3
ws1232007-09-11 13:38
无户主
就是判断该组是否存在第13位有1的记录
所以可以使用EXISTS判断查询语句是否有相关返回记录

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

#4
风流上进2007-09-11 17:56
EXISTS 不会用..
1