我正在使用以下 HQL:
SELECT lo.id, lo.priority, COUNT(p.id)
FROM LoadingOrder AS lo LEFT OUTER JOIN lo.palettes AS p
WHERE SUBSTRING(p.space.id, 1, 1) = 'B'
问题是它没有显示没有调色板的加载订单。如果没有 WHERE 子句,它会显示没有调色板的装载订单(最后一列等于 0)。
我已经尝试添加这样的内容:
SELECT lo.id, lo.priority, COUNT(p.id)
FROM LoadingOrder AS lo LEFT OUTER JOIN lo.palettes AS p
WHERE ((p.id IS NULL) OR (SUBSTRING(p.space.id, 1, 1) = 'B'))
但它没有帮助(当我检查 p 或 p.space.id 是否为空时)。如何使用子字符串设置条件并包括没有调色板的结果?