嗨,我正在尝试与 MySQL 进行内部联接,从两个不同的表中选择数据,其中一个名为“Bank”,其中有一个 4 位整数,其中包含“no”列和一个 2 位整数,另一个名为“Goodness”,其中有一个VARCHAR 列为“否”,我想打印所有三部分数据,但我无法弄清楚为什么会收到此错误,这是我的代码:
SELECT MAX(薪资),否
来自银行
内连接善良
ON Bank.no=Goodness.name
WHERE client = 'Josh';
我收到的错误是:错误代码:1052。字段列表中的“否”列不明确
我认为这是因为两列都被称为“否”?有人可以帮忙吗,任何帮助将不胜感激,谢谢!
最佳答案
您必须添加前缀 no
SELECT
中的列使用表名的子句:
SELECT MAX(Payroll), Bank.no
FROM Bank
INNER JOIN Goodness ON Bank.no=Goodness.name
WHERE client = 'Josh';
由于两个表Bank
,因此产生了歧义。和Goodness
,共享名为 no
的列。
编辑:您的查询很可能错过了 GROUP BY Bank.no
子句也是如此,因为 SELECT
使用像 MAX
这样的聚合函数。
关于mysql - mysql内连接不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160740/