您好我正在尝试与MySQL进行内部联接,从两个不同的表中选择一个名为' Bank'它有一个4位整数,带一列' no'和一个2位数的整数和一个名为“Goodness'它有一个带有列的VARCHAR' no'我想打印所有三个数据,我无法弄清楚为什么我收到此错误,这是我的代码:
SELECT MAX(Payroll), no
FROM Bank
INNER JOIN Goodness
ON Bank.no=Goodness.name
WHERE client = 'Josh';
我收到的错误是:错误代码:1052。列'否'在字段列表中是不明确的
我认为这是因为两个列都被称为no?有人可以帮助,任何帮助将不胜感激,谢谢!
答案 0 :(得分:2)
您必须使用表名在KillTime
子句中加上JOINs
列的前缀:
DATEADD
由于两个表no
和SELECT
共享一个名为SELECT MAX(Payroll), Bank.no
FROM Bank
INNER JOIN Goodness ON Bank.no=Goodness.name
WHERE client = 'Josh';
的列,因此出现歧义。
修改:您的查询很可能也错过了Bank
条款,因为Goodness
使用了像no
这样的聚合函数。
答案 1 :(得分:0)
尝试告诉你需要哪个“不”。 Bank.no或Goodness.no
SELECT MAX(Payroll), Bank.no