【问题标题】:HQL and subqueries with joinsHQL 和带有连接的子查询
【发布时间】: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中是无效的,如何修改?

【问题讨论】:

    标签: mysql sql hibernate hql


    【解决方案1】:

    为什么不将该 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
    

    视图可以以与实体相同的方式映射,只是不能插入其中。

    【讨论】:

    • 我没有创建视图的权限。
    • @CarlosP 太粗糙了。
    猜你喜欢
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 2018-02-13
    • 2018-09-14
    • 2021-06-16
    • 2017-06-19
    • 1970-01-01
    相关资源
    最近更新 更多