首页 > 解决方案 > 喜欢 2 列的查询

问题描述

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

假设 Table Product 和 Table DefectProducts 有 SerialNumber 列。我希望我的查询适用于以下情况。

例如,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%

标签: hibernatehql

解决方案


带有 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 = ?

推荐阅读