我有以下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
我已经阅读了一些文章,但是找不到适合我的代码的解决方案。任何帮助,不胜感激。
您的WHERE子句ID需要更具体,包括表名:
WHERE table.id = [PARAM]p_id
如果两个事物共享相同的名称,这就是歧义性所在。在这种情况下,SQL中的多个表包含“ id”列。
如果列名称在要触摸的当前表的集合中是唯一的,则SQL具有消除列名称的歧义的能力-因此,在大多数情况下,您不需要在列名称前添加表名。