我的内部连接不起作用 未知列

Posted

技术标签:

【中文标题】我的内部连接不起作用 未知列【英文标题】:My inner join doesn't work Unknown column 【发布时间】:2014-04-22 18:47:21 【问题描述】:

我正在尝试进行内部连接,但是当我在 Sql 中执行此操作时,它会显示:“on 子句”中的未知列“evenement.id”。我怎样才能做到这一点?

SQL 连接:

SELECT *
FROM `evenement` INNER JOIN
     `evenementontvanger`
     ON  `evenement.id` = `evenementontvanger.idEvent`
ORDER BY `id`

我的桌子是->

晚上:

id
title
start
startdate
starttime
end
endtime
enddate
url
allDay
description
color

evenementontvanger: ID idEvent idWerknemer idProject 爱德克兰特 idTaak

【问题讨论】:

【参考方案1】:

您需要单独引用每个标识符;

ON  `evenement`.`id` = `evenementontvanger`.`idEvent`

【讨论】:

非常感谢您的回答:)【参考方案2】:

问题是你在反引号之间有evenement.id。这使它成为单个标识符,而不是两个由. 连接的标识符。以下修复了查询并添加了表别名并修复了下一个问题,即order by 中的不明确列:

SELECT *
FROM evenement e INNER JOIN
     evenementontvanger ev
     ON  e.id = e.idEvent
ORDER BY e.id;

【讨论】:

【参考方案3】:

您需要在每个标识符周围加上刻度线。如果将它们放在一个组合标识符周围,它会将其解释为单个标识符,即没有名为 evenement.id 的字段。

SELECT *
FROM `evenement` INNER JOIN
     `evenementontvanger`
     ON  `evenement`.`id` = `evenementontvanger`.`idEvent`
ORDER BY `id`

【讨论】:

【参考方案4】:

ID 字段将被设置两次,您需要指定要检索的字段,因为它们的名称有冲突

SELECT `evenement`.`id`, `evenementontvanger`.`id`
    FROM `evenement` INNER JOIN
         `evenementontvanger`
         ON  `evenement`.`id` = `evenementontvanger`.`idEvent`
    ORDER BY `evenement`.`id`

【讨论】:

不确定这是否不正确,因为它正在被标记下来?【参考方案5】:

您需要在两个表中具有相同的列名才能应用内连接。尝试重命名任一列名。在http://www.w3schools.com/sql/sql_join_inner.asp 上查找示例

【讨论】:

任何类型的连接都不需要相同的列名。内连接取决于兼容的数据类型和(在等连接的情况下)匹配值,而不是列名。

以上是关于我的内部连接不起作用 未知列的主要内容,如果未能解决你的问题,请参考以下文章

Spark JDBC伪列不起作用

引导行和列不起作用

Spring Data JPA 查询不起作用,列不存在

pandas - 合并日期列不起作用

使用圆形函数转换 pyspark 数据框列不起作用(pyspark)

学说迁移:向现有表添加和删除两个外键列不起作用