日期:2014-5-19 浏览次数:20113次

分组显示有没有更好的办法
父表有50个字段,子表有100个字段,现在需要按父表的“编号”分组显示,但还需要显示子表中的一条对应信息即需要的是:

select   父表.*,子表.*   from   父表   left   join   子表   group   by   父表.编号  

的结果,但由于group   by   需要有聚合函数,所以上述写法无法通过,现在即不想要向后兼容,又不想写出带聚合函数的所有字段,请问有什么更好的办法吗???



------解决方案--------------------
--try

select 父表.* from 父表
left join
(
select 编号 from 子表 group by 编号
)子表 on 父表.编号=子表.编号
------解决方案--------------------
给你个参考
use pubs
go
select * from jobs j left join
(select * from employee where emp_id in
(select min(emp_id) from employee group by job_id)) e on j.job_id =e.job_id order by j.job_id