分组显示有没有更好的办法
父表有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