2013-03-09 5 views
0

Я работаю над таблицей PHP/mySQL, в которой отображаются данные, которые я поместил в свою базу данных, и я пытаюсь сделать их сортируемыми. У меня есть две таблицы в моей базе данных:Сортировка счет в нескольких таблицах

стол «ресторан» имеет столбцы: ID и имя

Таблица «элемент» имеет столбцы: ID, имя и restaurantID (restaurantID устанавливается использовать идентификаторы из «ресторана "table)

Что я хочу сделать, это сортировать рестораны по количеству раз, когда их идентификатор появляется в таблице товаров. Я уверен, что должен быть простой способ сделать это, просто не смог понять это. Любая помощь будет принята с благодарностью!

ответ

1

Попробуйте это ...

select r.name, count(i.ID) 
from restaurant r 
left join item i on i.restaurantID = r.ID 
group by r.name 
order by count(i.ID) desc 
0

Я считаю, что вы можете сделать это, используя следующий запрос:

SELECT restaurant.*, COUNT(items.id) AS item_id FROM restaurants, items WHERE restaurant.id = items.restaurant_id ORDER BY item_id ASC; 

Как вы знаете, возможно сортировка по нескольким столбцам;

SELECT restaurant.*, COUNT(items.id) AS item_id FROM restaurants, items WHERE restaurant.id = items.restaurant_id ORDER BY item_id ASC, restaurant.`name` DESC; 
Смежные вопросы