【问题标题】:The multi-part identifier could not be bound. When joining 2 tables无法绑定多部分标识符。加入 2 个表时
【发布时间】:2017-12-23 15:27:32
【问题描述】:
SELECT 
    I.NAME 
FROM 
    All_Items$ AS I, 
    Cost_Model$ AS P 
LEFT OUTER JOIN 
    Cost_Model$ ON I.ITEMID = P.ITEMRELATION

我正在尝试在同一个数据库中将 2 个表连接在一起。 ItemIDItemRelation 是相同的东西,这就是我尝试外部左连接但一些 itemID 在另一个表中没有对应的 ItemRelation 的原因。

不知道为什么它说 multi-part identifier could not be bound on I.ITEMID

请帮忙。

【问题讨论】:

  • 您是否确认您指定了正确的列名?
  • Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI JOIN 语法-92 SQL 标准(25 年前),不鼓励使用它
  • 当它与 C# 和 Visual Studio 无关时,为什么它会被标记?
  • 我正在使用 sql server 在 Visual Studio 中工作,但你说得对,它应该是 sql
  • 修复代码以使用正确的连接。

标签: sql sql-server


【解决方案1】:

您还应该从 Cost_Model$ 表中选择一些字段,否则 LEFT JOIN 将简单地输出 All_Items$ 的所有记录。 试试这个:

SELECT 
    I.NAME, P.SOMETHING
FROM 
    All_Items$ AS I 
LEFT OUTER JOIN 
    Cost_Model$ AS P ON I.ITEMID = P.ITEMRELATION

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2011-11-10
    • 2010-11-02
    相关资源
    最近更新 更多