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)
我正在尝试加入 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)