【问题标题】:SQL Error in WHERE clause [closed]WHERE 子句中的 SQL 错误 [关闭]
【发布时间】:2013-04-18 17:38:09
【问题描述】:

我有桌子

Department: id, name
Employee: id, departmentId, name, surname

departmentId 是引用 Department(id) 的外键 查询:

SELECT * FROM Employee WHERE Employee.departmentId = Department.id;

返回错误“where 子句中的未知列 Department.id”

我无法放置此错误。我该如何解决这个问题?

谢谢

【问题讨论】:

标签: mysql sql mysql-error-1054


【解决方案1】:

您实际上需要包含department

SELECT * 
FROM Employee 
JOIN Department
   ON Employee.departmentId = Department.id;

这使用了 ANSI 标准的显式 JOIN 语法。您应该避免使用隐式连接。

【讨论】:

  • 谢谢你..我真傻!!..
【解决方案2】:

那是因为您的 Department 表不在您的 FROM 子句中。包括它。

select *
from Employee, Department
where Employee.departmentId = Department.id

【讨论】:

    【解决方案3】:

    您的 from 子句中没有包含 Department....

    SELECT * FROM Employee, Department WHERE Employee.departmentId = Department.id;

    【讨论】:

    • 或者使用join,可能更灵活
    • 那是一个join,只是没有使用JOIN语法
    • .. 和 ANSI 标准。
    • @DanielDiPaolo 嗯?那你怎么称呼它?
    • 推荐不良编码实践(例如隐式连接)是个坏主意。
    猜你喜欢
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    相关资源
    最近更新 更多