MySQL 错误代码 : 1054 when try "on" and "inner join"

标签 mysql

我的功能“on”有问题。 这是查询:

Retrieving the names of dog lovers who have performed at least 3 babysitters in apartment type houses

CREATE TABLE DogLover (
DogLoverID INT PRIMARY KEY,
name VARCHAR(50),
DailyWage INT,
phone INT,
city VARCHAR(50));

CREATE TABLE House (
HouseID INT PRIMARY KEY,
HouseType VARCHAR(50),
no_of_dogs INT, 
max_cancel_notice INT);

CREATE TABLE DogLoverShift (
DogLoverID INT,
HouseID INT PRIMARY KEY,
StartDate DATE,
EndDate DATE,
FOREIGN KEY (DogLoverID) REFERENCES DogLover(DogLoverID),
FOREIGN KEY (HouseID) REFERENCES House(HouseID));

我尝试的查询是:

SELECT *
FROM DogLoverShift inner join DogLover AS newTable
ON doglover.DogLoverID = doglovershift.DogLoverID

错误:

Error Code: 1054. Unknown column 'doglover.DogLoverID' in 'on clause'

编辑: 在我看到这里所有好的帮助后,我更改了查询:


SELECT *
FROM DogLoverShift inner join DogLover inner join House AS newTable ON newtable.DogLoverID=DogLoverShift.DogLoverID AND newtable.HouseID=house.HouseID;

和错误:

Error Code: 1054. Unknown column 'newTable.DogLoverID' in 'on clause'

编辑 2: (希望最后一次编辑..) 现在我使用这个代码(感谢“Arulkumar”!)

SELECT * 
FROM DogLoverShift AS DLS 
INNER JOIN DogLover AS DG ON DG.DogLoverID = DLS.DogLoverID
INNER JOIN House AS HS ON HS.HouseID = DLS.HouseID

现在我如何检查:“在公寓类型的房屋中至少担任过 3 名保姆”? 我知道我需要分组并制作 WHERE ,但我不知道如何:-(

最佳答案

我认为问题在于表名newTable。您可以使用:

SELECT *
FROM DogLoverShift 
inner join DogLover AS newTable ON newTable.DogLoverID = DogLoverShift.DogLoverID

或者直接使用表名

SELECT *
FROM DogLoverShift 
inner join DogLover ON DogLover.DogLoverID = DogLoverShift.DogLoverID

根据您的评论,要连接三个表,请使用以下查询:

SELECT * 
FROM DogLoverShift AS DLS 
INNER JOIN DogLover AS DG ON DG.DogLoverID = DLS.DogLoverID
INNER JOIN House AS HS ON HS.HouseID = DLS.HouseID 

关于MySQL 错误代码 : 1054 when try "on" and "inner join",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56278631/

相关文章:

mysql - 尝试使用 golang 插入表时出现 panic

MySQL NOW() 在 Doctrine DBAL 插入中?

mysql - 元素重复至少 3 次

mysql - SQL - 比较 Ajax 数组中的值,如果不在表中则删除它们

Mysql:从列表中查找大多数的所有者

mysql - sql 按列存储数据

hdfs - 使用直接导入HDFS时Sqoop找不到mysqldump

php - CakePHP,链接到其他模型的 "settings"页面。它本身需要是一个模型吗? , MySQL 发出结果

mysql - DBD::mysql:如何将 "SELECT * INTO file"写入我的主目录?

mysql - 服务器时区值 'CEST' 无法识别