【问题标题】:Like query on 2 columns喜欢 2 列的查询
【发布时间】:2020-07-10 07:51:01
【问题描述】:

我想对 2 个不同表的 2 列进行类似查询。

假设表产品和表缺陷产品具有序列号列。我希望我的查询适用于以下情况。

例如,Product 表中的 SerialNumber 是 NS123,而 DefectProducts 中的 SerialNumber 是 SNS123。我想得到那个 SNS123 值。

Original query: 
select dp.SerialNumber from Product p, DefectProducts dp where p.SerialNumber=dp.SerialNumber

Desired Query:
select dp.SerialNumber from Product p, DefectProducts dp where p.SerialNumber like %dp.SerialNumber%

【问题讨论】:

  • 这需要 UNION 但 HQL 不支持 UNION。您必须创建两个查询或使用 SQL
  • 能不能写个关于union的sql语句?

标签: hibernate hql


【解决方案1】:

带有 SQL 的 UNION 看起来像这样

select SerialNumber from (
    select p.SerialNumber from Product p
    union all 
    select dp.SerialNumber from DefectProducts dp
) as x
where x.SerialNumber like = ?

【讨论】:

    猜你喜欢
    • 2014-03-30
    • 2012-12-23
    • 2012-09-18
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多