Автор Тема: Помогите с запросом... MySQL  (Прочитано 3130 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите с запросом... MySQL
« : 20 Июня 2007, 16:27:48 »
Есть таблицы клиентов...
id, name

Есть таблица услуг...
id, client_id, status

Нужно запросом вытащить имена всех клиентов,
за которыми записаны какие-либо услуги, причем
у услуг должен быть status = 2...
И отсортировать все это по количеству услуг на автора...

Помогите...
Космическая игрушка

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Помогите с запросом... MySQL
« Ответ #1 : 20 Июня 2007, 17:40:39 »
1-таблица client 2-таблица uslug
Select client.name, count(uslug.id) as usl from client
Left Join uslug on uslug.client_id=client.id AND uslug.status=2
where usl>0
Group by uslug.id
order by usl
примерно так, не проверял
Не все является тем чем кажется.

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Помогите с запросом... MySQL
« Ответ #2 : 20 Июня 2007, 17:44:38 »
Спасибо! посмотрю...
Космическая игрушка

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Помогите с запросом... MySQL
« Ответ #3 : 22 Июня 2007, 13:38:11 »
Altaxar
И зачем LEFT JOIN спрашивается?
Что бы было чем заняться WHERE и записей побольше обработать?

SELECT client.name, count(uslug.id) AS usl
FROM client INNER JOIN uslug ON uslug.client_id=client.id AND uslug.status = 2
GROUP BY uslug.id
ORDER BY usl

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28