小编典典

列名不明确

sql

我有以下SQL,它引发错误模糊列名称’id’

select tbl_registration.*, tbl_ebp.name as ebp_name, tbl_Users.id as user_id, tbl_ebp.id as linked_ebp_id
from tbl_registration
left outer join tbl_ebp on tbl_ebp.id = tbl_registration.ebp_id
left outer join tbl_users on tbl_registration.email = tbl_users.username
where id = [PARAM]p_id

我已经阅读了一些文章,但是找不到适合我的代码的解决方案。任何帮助,不胜感激。


阅读 199

收藏
2021-05-16

共1个答案

小编典典

您的WHERE子句ID需要更具体,包括表名:

WHERE table.id = [PARAM]p_id

如果两个事物共享相同的名称,这就是歧义性所在。在这种情况下,SQL中的多个表包含“ id”列。

如果列名称在要触摸的当前表的集合中是唯一的,则SQL具有消除列名称的歧义的能力-因此,在大多数情况下,您不需要在列名称前添加表名。

2021-05-16