sqlserver mysql 无法绑定由多个部分组成的标识符

无法绑定由多个部分组成的标识符

Msg 4104, Level 16, State 1, Server CHENQH, Procedure , Line 0
无法绑定由多个部分组成的标识符 “b.ACTOR_ID”。
[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]无法绑定由多个部分组成的标识符 “b.ACTOR_ID”。 (4104)

造成这种原因两种

1、联合查询的条件有重复的,未指定哪个表的字段信息
	例 a表有id,b表也有id, select id from a left join b on a.id=b.id
	这时候查询条件的id没有标明是哪个表的id就会出现这个问题
	
2、查询条件时未指定联合查询的表,查询条件就直接用另一个表的字段了
	例可能在别的语言里面会有拼接sql的写法,比如java,jdbc方式,sql语句是动态的
	sql: select*from a  在此基础做sql语句的拼接
	理想拼接后的sql:select*from a left join b on a.id=b.id where  b.id=xxx
	实际拼接后的sql: select*from a where b.id=xxx
	下面这情况就会造成这个错误,所以做这种拼接sql的时候打印一下sql语句是否出现问题

版权声明:本文为qq_42976486原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。