【问题标题】:sorting cross tables in sql在sql中对交叉表进行排序
【发布时间】:2016-04-18 21:56:07
【问题描述】:

我有以下查询,它是“错误的”

    select
        request0_.id as id1_12_,
        request0_.pdf_path as pdf_path2_12_
    from
        request request0_
    cross join
        ptol_user ptoluser1_ 
    where
        request0_.auditor_user_id=ptoluser1_.id 
        and request0_.applicant_user_id=3 
    order by
        ptoluser1_.last_name asc

我想从第二个表中按姓氏排序此查询,但在某些行中,varvhar 为空,它使它们从 where 的第一个条件中消失。如果可能的话,我想要一些解决方案并进入 java jpa 以供 spring 使用

【问题讨论】:

  • 样本数据和期望的结果将有助于传达您想要做的事情。例如,什么是“varvhar”?

标签: mysql hibernate spring-data-jpa sql-order-by


【解决方案1】:

如果要在第二个表中包含不匹配的行,则需要使用LEFT JOIN,而不是CROSS JOIN。

SELECT request0_.id as id1_12_, request0_.pdf_path as pdf_path2_12_
FROM request as request0_
LEFT JOIN ptol_user AS ptoluser1_ ON request0_.auditor_user_id = ptoluser1_.id
WHERE request0_.applicant_user_id = 3
ORDER BY ptoluser1_.last_name ASC

【讨论】:

  • 我正在使用 jpa-hibernate,它会自动生成此代码....知道如何修复它吗?
  • 不,抱歉,我对 jpa-hibernate 一无所知。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-21
  • 2015-07-20
相关资源
最近更新 更多