【发布时间】:2021-12-23 15:42:37
【问题描述】:
我觉得以下应该可行。尝试正确修剪并在同一行添加login_name 和custr_id,并在它们之间添加':'。
但我得到了
多部分标识符不能绑定在所有内容上,例如 l.login_name、c.custr_id 等。
SELECT
rtrim(l.login_name)+':'+
rtrim(c.custr_id)
FROM
customer c
LEFT JOIN login l
ON l.custr_id = c.custr_id
WHERE
c.custr_id=777
【问题讨论】:
-
提问时,您需要提供minimal reproducible example: (1) DDL 和样本数据填充,即 CREATE 表和 INSERT T-SQL 语句。 (2) 你需要做什么,即逻辑和你的代码尝试在 T-SQL 中实现它。 (3) 期望的输出,基于上述#1 中的样本数据。 (4) 您的 SQL Server 版本 (SELECT @@version;)。
-
是什么让您认为是
rtrim导致了问题? -
“无法绑定多部分标识符。” 是当您尝试将 2+ 部分命名与 @987654327 中不存在的限定符一起使用时@。例如
SELECT db.name FROM sys.databases d;将返回错误,因为databases的别名为d,而不是db。你上面的SQL没有这样的问题。看来你在这里没有告诉我们一些事情。 -
@Larnu,可悲的是,我没有遗漏任何内容。没有
rtrim的 select 语句可以正常工作。我在上面添加它的那一刻,就是出现多部分标识符问题的时候。 -
没有 rtrim 的 select 语句没有提到
login.login_name列。检查 col 名称是否有效。
标签: sql sql-server