基于 JOIN 替换值
Replace values based on JOIN
假设我有两个数据集 A
和 B
左连接后我应该在 table A
中获得 Y
的 FALSE
值,因为它在 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;
假设我有两个数据集 A
和 B
左连接后我应该在 table A
中获得 Y
的 FALSE
值,因为它在 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;