SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.03.2009 17:15:14

Борис
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 29

Прошу помощи в создании запроса.

Есть задача одним запросом вывести следующее:

Клубы (10)
Рестораны (5)
Кафе (2)

Т.е. название категории рядом кол-во.

Ниже таблицы:

Название таблицы places
-----------------------------------------------
id | place_name | place_text | place_cat | place_date
-----------------------------------------------
4  | Танцулька  | Этот клуб..|     1     | 2009-03-09


Название таблицы places_cat
-------------
id | place_n
-------------
1  | Клубы 

Вот что я пробывал:
SELECT places_n, COUNT(*) as number FROM  places_cat INNER JOIN  places ON ( places.place_cat   = places_cat.id  )

Заранее спасибо за помощь.

Неактивен

 

#2 15.03.2009 17:31:12

Борис
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 29

Re: Прошу помощи в создании запроса.

Спасибо я разобрался

SELECT places_cat.*,
       (SELECT COUNT(*) as test FROM places WHERE places.place_cat = places_cat.id)
FROM places_cat

Неактивен

 

#3 15.03.2009 17:39:30

Борис
Завсегдатай
Зарегистрирован: 20.07.2008
Сообщений: 29

Re: Прошу помощи в создании запроса.

Вернее так!!
SELECT places_cat.*,
       (SELECT COUNT(*) FROM places WHERE places.place_cat = places_cat.id) AS test
FROM places_cat

Неактивен

 

#4 15.03.2009 21:28:18

coin
Гуру
Зарегистрирован: 15.07.2008
Сообщений: 66

Re: Прошу помощи в создании запроса.

Вернее так:

SELECT `places_cat`.*, COUNT(*) AS `test`
FROM `places_cat`
JOIN `places` ON `places`.`place_cat`=`places_cat`.`id`
GROUP BY `places`.`place_cat`

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson