Sql server 无法绑定多部分标识符之间的跳转(&P);不明确的列名
我不断收到两条错误消息,这取决于我如何修复它们 首先,这是我的代码:Sql server 无法绑定多部分标识符之间的跳转(&P);不明确的列名,sql-server,Sql Server,我不断收到两条错误消息,这取决于我如何修复它们 首先,这是我的代码: SELECT ConsltNum AS 'Consultant Number', COUNT(ConsltNum) AS 'Client Count', AVG(Balance) AS 'Average' FROM Client Cl INNER JOIN Consultant Cn ON Cl.ConsltNum = Cn.ConsltNum GROUP BY Cn.
SELECT
ConsltNum AS 'Consultant Number',
COUNT(ConsltNum) AS 'Client Count',
AVG(Balance) AS 'Average'
FROM
Client Cl
INNER JOIN
Consultant Cn ON Cl.ConsltNum = Cn.ConsltNum
GROUP BY
Cn.LastName
运行它时,我得到了这个
味精209,第16级,状态1,第3行列名称“ConsltNum”不明确 味精209,第16级,状态1,第3行
列名称“ConsltNum”不明确 现在,我知道它是不明确的,因为
ConsltNum
存在于我包含的两个表中。通常我会尝试通过将代码更改为以下方式拨入该数据库:
SELECT
Client.ConsltNum AS 'Consultant Number',
COUNT(Client.ConsltNum) AS 'Client Count',
AVG(Balance) AS 'Average'
FROM
Client Cl
INNER JOIN
Consultant Cn ON Cl.ConsltNum = Cn.ConsltNum
GROUP BY
Cn.LastName
运行此命令后,我得到:
味精4104,第16级,状态1,第3行无法绑定多部分标识符“Client.ConsltNum” 味精4104,第16级,状态1,第3行
无法绑定多部分标识符“Client.ConsltNum”
还有一些值得一提的事情:我试着拨到dbo.Client.ConsltNum,但它抛出了相同的错误。只要使用正确的别名:
SELECT cl.ConsltNum AS Consultant_Number,
COUNT(*) AS Client_Count, AVG(?.Balance) AS Average
FROM Client Cl INNER JOIN
Consultant Cn
ON Cl.ConsltNum = Cn.ConsltNum
GROUP BY cl.ConsltNum;
?
用于表的别名,该表的余额来自该表
注:
- 您需要使用为列指定的表别名
分组依据
应与选择
列匹配
- 仅对字符串和日期常量使用单引号。给出不需要转义的列名称
- 您最好使用
COUNT(*)
,因为您知道ConsltNum
永远不会NULL