基于 JOIN 替换值

Replace values based on JOIN

假设我有两个数据集 AB

左连接后我应该在 table A 中获得 YFALSE 值,因为它在 table [=11] 中没有=]

使用您的方法,如果您打算获得 FALSE 的值(如果该值不存在),您可以检查名称中的 NULL。下面的示例使用 CASE 来检查 NULL 并在其他情况下分配原始值

SELECT 
  A.Name,
  CASE 
     WHEN B.Name is NULL THEN 'FALSE'
     ELSE A.Value
  END as Value
FROM
  A
LEFT JOIN
  B on A.Name = B.Name

我不知道 HQL。但在标准 SQL 中是:

select name, name in (select name from b) as value
from a
order by name;