select t.*, count(r.type_id) as all_type_number from
(
select
doc.doc_id, doc_name, doc_time, count(doc.doc_id) as doc_number
from document doc
inner join r_doc_type r
on doc.doc_id = r.doc_id
where type_id in (3, 4)
group by doc.doc_id
) as t
inner join r_doc_type r
on t.doc_id = r.doc_id
group by t.doc_id
order by doc_number desc, all_type_number, doc_time desc
表结构如下:
1. r_doc_type
2. document
3. type
type 和document是多对多关系、但是数据库中没有建立关系。
现在想将这句sql转换为hql,求大哥帮忙,小妹不胜感激