我的 Sql(MySQL 说:#1052 - 字段列表中的列 'hswhouse.whname' 不明确

Posted

技术标签:

【中文标题】我的 Sql(MySQL 说:#1052 - 字段列表中的列 \'hswhouse.whname\' 不明确【英文标题】:My Sql(MySQL said: #1052 - Column 'hswhouse.whname' in field list is ambiguous我的 Sql(MySQL 说:#1052 - 字段列表中的列 'hswhouse.whname' 不明确 【发布时间】:2020-08-07 11:02:20 【问题描述】:
create view House as 
SELECT hswhouse.whname,hsitems.description,hsitems.numInStock
from hswhouse
inner join hsitems
inner join hswhouse on hswhouse.whnum = hsitems.whouseNum
where hswhouse.whname = "San Diego"

mysql 说:

#1052 - 字段列表中的列 'hswhouse.whname' 不明确

【问题讨论】:

【参考方案1】:

您在查询中有两次表hswhouse,没有别名,因此确实不明确表名hswhouse 指的是哪一个。

查看您的查询,joins 之一缺少on 子句(这是除 MySQL 之外的大多数数据库中的语法错误),而且您似乎只需要一次表 hswhouse。您最有可能想要:

create view House as 
SELECT h.whname, i.description, i.numInStock
from hswhouse h
inner join hsitems i on h.whnum = i.whouseNum
where h.whname = 'San Diego'

【讨论】:

以上是关于我的 Sql(MySQL 说:#1052 - 字段列表中的列 'hswhouse.whname' 不明确的主要内容,如果未能解决你的问题,请参考以下文章

Laravel JOIN SQLSTATE [23000] 问题:违反完整性约束:字段列表中的 1052 列“album_id”不明确

django.db.utils.OperationalError:(1052,“字段列表中的列'名称'不明确”)

mysql Error:1052 Column 'xxx' in where clause is ambiguous

mysql 查询结果,先查含有某字段的数据,再查其他字段的数据

完整性约束违规:字段列表中的 1052 列“updated_at”不明确

mysql 中用sql判断两个字段长度是不是相等