Нужна помощь: сортировка одной таблице по числу записей в другой

trompert

Guest
Нужна помощь: сортировка одной таблице по числу записей в другой

Есть таблица с названием предприятий.
pred_id | predname
1 | Т1
2 | Т4
3 | Т7

Есть другая таблица где каждому предприятию поставлены сотрудники.
pred_id | sotr_id
1 | 123
1 | 212
2 | 233

Как правильно сортировать таблицу с предприятиями по количеству сотрудников? Вложенных запросов использовать не могу.
 

Falc

Новичок
trompert
SELECT p.* count(*) AS cnt
FROM pregp AS p
LEFT JOIN sotr AS s ON s.predpr_id = p.id
GROUP BY p.id
ORDER BY cnt
 

trompert

Guest
Originally posted by Falc
trompert
SELECT p.* count(*) AS cnt
FROM pregp AS p
LEFT JOIN sotr AS s ON s.predpr_id = p.id
GROUP BY p.id
ORDER BY cnt
А как бы теперь выбирать не все предприятия, а только те, кот. созданы после какой-то даты?
я попробовал так:
SELECT p.* , count(s.s_id) AS cnt
FROM predpr AS p LEFT JOIN spps AS s ON
(p.s_end=0 or p.s_end>1098820801)
and s.s_id = p.s_id
GROUP BY p.s_id
ORDER BY cnt DESC но выбираются все равно ВСЕ результаты... что неправильно?
 

Falc

Новичок
trompert
SELECT p.* count(*) AS cnt
FROM pregp AS p
LEFT JOIN sotr AS s ON s.predpr_id = p.id
WHERE p.s_end=0 or p.s_end>1098820801
GROUP BY p.id
ORDER BY cnt

Только дат таких в MySQL не бывает, но думаю смысл понятен.

Вообще судя по твоему посту тебе надо почитать по соединения и разобраться в чем разница между простым JOIN и LEFT JOIN.

Кстати если ты редактируешь пост, то топик в верх не поднимается и не отмецается как новый. так что попросы лучше добавлять.
 

trompert

Guest
Originally posted by Falc
Вообще судя по твоему посту тебе надо почитать по соединения и разобраться в чем разница между простым JOIN и LEFT JOIN.

Кстати если ты редактируешь пост, то топик в верх не поднимается и не отмецается как новый. так что попросы лучше добавлять. [/B]
Спасибо большое за помощь! Именно чтением я сейчас и занимаюсь. :)
 

trompert

Guest
Есть другая проблема, которую решить своими силами не удалось:
Одна таблица - предприятия
prepr_id | p_name
1|N
2|K
3|M

Вторая, списки коэффициентов персонала.
sotr_id | pred_id | koeff
1 | 1 | 27.2
2 | 1 | 14.3
3 | 2 | 12.3

Как сделать сортировку предприятий по самому высокому(низкому ) коэффициенту сотрудников?
 
Сверху