SQL 在修改后的密钥上加入 table

SQL join table on a modified key

我正在尝试加入 table 修改后的密钥。我收到 b.buser 不存在。

SELECT 
a.name,
a.work_id,
a.email_id,
a.Legal_name,
b.username,
left(b.username,11) as buser,
b.email,
FROM a
left join b on a.work_id=b.buser

我只能相信解析器:b.buser doesn't exist.

查看您的 SQL,您可能正在尝试引用 left(b.username,11),您将其别名为 buser。这不同于 b.buser.

试试这个:

left join b on a.work_id=left(b.username,11)

我看不出你在 select 中需要 left(b.username, 11) 的原因。为什么它在那里?如果是非NULL,则等同于a.work_id:

SELECT a.name, a.work_id, a.email_id, a.Legal_name,
       b.username, b.email,
FROM a LEFT JOIN
     b
     ON a.work_id = LEFT(b.buser, 11)