2016-02-02 3 views
0

Привет, Я пытаюсь выполнить внутреннее соединение с MySQL, чтобы выбрать данные из двух разных таблиц, один из которых называется «Банк», который имеет 4-значное целое число с столбцом «нет» и 2-значное целое число и одно имя «Доброта» ', который имеет VARCHAR с колонкой „нет“, и я хотел бы, чтобы напечатать все три части данных, и я не могу понять, почему я получаю эту ошибку, вот мой код:Внутреннее соединение mysql неоднозначное

SELECT MAX(Payroll), no FROM Bank INNER JOIN Goodness ON Bank.no=Goodness.name WHERE client = 'Josh';

ошибка Я получаю: Код ошибки: 1052. Столбец «нет» в списке полей неоднозначен

Я думаю, что это потому, что оба столбца называются no? Может кто-то помочь пожалуйста, любая помощь будет принята с благодарностью, спасибо!

+2

FYI - ваша следующая ошибка, вероятно, будет отсутствие группы по п –

ответ

2

Вы должны префикс no столбец в предложении SELECT, используя имя таблицы:

SELECT MAX(Payroll), Bank.no 
FROM Bank 
INNER JOIN Goodness ON Bank.no=Goodness.name 
WHERE client = 'Josh'; 

Неоднозначность возникает из-за того, что обе таблицы, Bank и Goodness, разделить столбец с именем no.

Edit: Ваш запрос, скорее всего, пропустит пункт GROUP BY Bank.no тоже, так как SELECT использует агрегатную функцию, как MAX.

+0

правильный ответ (upvoted), но вы можете добавить группу в ОП также отсутствует –

+0

@ Christopherous5000 Да, это правильно, я отредактировал свой ответ. Спасибо за замечание. –

+0

Я теперь исправил это спасибо! Мне действительно нужна инструкция WHERE для поиска WHERE PAYROLL = MAX, чтобы найти максимальное целое число в платежной ведомости, сможет ли кто-нибудь помочь с этим? –

0

Попробуйте указать, какой «нет» вам нужен. Bank.no или Goodness.no

SELECT MAX(Payroll), Bank.no 
Смежные вопросы