【发布时间】:2013-11-26 18:08:13
【问题描述】:
我有以下 sql 查询来检索按日期排序的每个组中的第一行:
SELECT * FROM pls s1
INNER JOIN (
SELECT * FROM pls s2
ORDER BY s2.date DESC) a
ON (s1.id = a.id)
GROUP BY s1.name
由于子查询的join在HQL中是无效的,如何修改?
【问题讨论】:
我有以下 sql 查询来检索按日期排序的每个组中的第一行:
SELECT * FROM pls s1
INNER JOIN (
SELECT * FROM pls s2
ORDER BY s2.date DESC) a
ON (s1.id = a.id)
GROUP BY s1.name
由于子查询的join在HQL中是无效的,如何修改?
【问题讨论】:
为什么不将该 SQL 语句设为视图?
create or replace view v_myview as
SELECT * FROM pls s1
INNER JOIN (
SELECT * FROM pls s2
ORDER BY s2.date DESC) a
ON (s1.id = a.id)
GROUP BY s1.name
视图可以以与实体相同的方式映射,只是不能插入其中。
【讨论】: