Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Microsoft SQL. Дополнить селект выдачей названия из связанной таблицы, соответствующего ID. Не получается inner_join

Владимир Иванов Ученик (77), на голосовании 5 лет назад
Есть таблица с заказами, в заказах фигурируют ID магазинов. С помощью запроса получен ID магазина, в котором совершено наибольшее количество заказов.

SELECT TOP 1
id_магазина,
COUNT(*)
FROM таблица_заказов
GROUP BY id_магазина
ORDER BY 2 DESC
При этом id_магазина это FK ключ из другой таблицы. В той другой таблице id_магазина соответствует названию магазина. Как модифицировать вышеуказанный запрос для получения этого названия?

SELECT TOP 1
id_магазина,
COUNT(*)
FROM таблица_заказов INNER JOIN таблица_магазинов
ON таблица_магазинов. название_магазина = таблица_заказов. id_магазина
GROUP BY id_магазина
ORDER BY 2 DESC
И мне выдается ошибка "Неоднозначное имя столбца id_магазина"

Так же пробовал использовать строку

ON таблица_магазинов. название_магазина = таблица_магазинов. id_магазина
результат тот же
Голосование за лучший ответ
HWMasters.com Искусственный Интеллект (130569) 5 лет назад
table1.id_magaza=table2.id_magaza ORDER BY table2.id_magaza
Владимир ИвановУченик (77) 5 лет назад
SELECT TOP 1
таблица_заказов. id_магазина
COUNT(id_магазина)
FROM таблица_заказов INNER JOIN таблица_магазинов
ON таблица_заказов. id_магазина = таблица_магазинов. id_магазина
ORDER BY table2.id_magaza

Так будет правильно?
HWMasters.com Искусственный Интеллект (130569) phpmyadmin в помощь, там можно SQL запросы вбивать и смотреть что получится
Jurijus Zaksas Искусственный Интеллект (445846) 5 лет назад
SELECT TOP 1
таблица_заказов. id_магазина
...

Джойн у тебя тоже неправильный, с какого ж перепуга у тебя название=ид?
Владимир ИвановУченик (77) 5 лет назад
SELECT TOP 1
таблица_заказов. id_магазина
COUNT(id_магазина)
FROM таблица_заказов INNER JOIN таблица_магазинов
ON таблица_заказов. id_магазина = таблица_магазинов. id_магазина
ORDER BY table2.id_magaza

Так будет правильно?
Jurijus Zaksas Искусственный Интеллект (445846) Куда GROUP BY девался?
Xaker_Two Мыслитель (5039) 5 лет назад
как только подключаем ещё одну табличку тут же все поля (нacpaть, повторяются или нет) пишем через полный путь аля таблица_заказов.id_магазина и проблем не будет, при том не важно в select, join или group by
Похожие вопросы