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

sql 查询的问题2

风流上进 发布于 2007-09-10 10:30, 604 次点击

select 相同成员 from
(
select count(left(医疗编号,12)) as 相同成员,left(医疗编号,12) from musterroll
group by left(医疗编号,12) order by 相同成员 desc
) as t
where 相同成员 >1

帮我看看这句代码哪里错了
5 回复
#2
bygg2007-09-10 11:05

order by 不能跟在 group by 后面

#3
风流上进2007-09-10 11:08

我把 order by 去掉了
提示这样的错误

服务器: 消息 8155,级别 16,状态 2,行 1
没有为第 2 列(属于 't')指定列。
#4
bygg2007-09-10 13:10
left(医疗编号,12) 这后面再加一个 as XXX就行了,因为你的第二列没有指定列名.
#5
thllilac2007-09-10 14:30
select 相同成员 from
(
select count(left(医疗编号,12)) as 相同成员,left(医疗编号,12) from musterroll
group by left(医疗编号,12) order by 相同成员 desc
) as t
where 相同成员 >1

left(医疗编号,12)并不包含在聚合函数中,应改为:
select 相同成员 from
(
select count(left(医疗编号,12)) as 相同成员 from musterroll
group by left(医疗编号,12) order by 相同成员 desc
) as t
where 相同成员 >1
#6
hushimiao2007-09-10 19:28
...
1