2016-11-25 2 views
-1

Я разработал следующее соединение с подзапросом в MySQL 5.5; все работает как должно, однако я не могу сделать работу последней прокомментированной строкой.MySQL Подготовленный подзаголовок таблицы

Заранее спасибо.

SELECT cat_name, fam_surname, pet_max_cost 
FROM (SELECT cat_name, fam_surname, SUM(pet_cost) AS 'pet_max_cost' 
FROM pet_unit_cost 
LEFT JOIN pet_full_names 
USING (petID) 
GROUP BY cat_name) AS myquery; 
-- WHERE myquery.pet_max_cost = (SELECT MAX(myquery.pet_max_cost) FROM myquery); 
+0

Даже не обращая внимания на последнюю строку, я «Боюсь, что ни один из остальных вопросов не имеет большого смысла. Это может не вызвать ошибку, но, безусловно, не вернет значимого результата. См. Http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query и начните сначала. – Strawberry

+0

Hi Strawberry, я сам решил проблему (и да, это не имело большого смысла). Однако я не понимаю, почему -1 для кого-то, что явно не является экспертом, и пытается изо всех сил изучить систему баз данных после работы. Я думал, что этот сайт был более дружелюбным. В любом случае, ничего не стоит, все хорошо. – Swartzy79

ответ

0

Я думаю, вы получаете результат от 3-х таблиц, но задан псевдоним для одного

cat_name, 
fam_surname, 
SUM(pet_cost) AS 'pet_max_cost' 

Вы должны выбрать одну таблицу для одного псевдонима

+0

'AS pet_max_cost' является псевдонимом для столбца агрегата, ничего общего с псевдонимами таблицы. Таблицы только два в соответствии с оператором Select в подзапросе. – Swartzy79

Смежные вопросы