Forum Webscript.Ru

Общие => Базы данных => Тема начата: Error202 от 30 Мая 2006, 10:59:12

Название: Задача
Отправлено: Error202 от 30 Мая 2006, 10:59:12
База MySQL...

Подскажите пожалуйста, как лучше сформировать таблицу и составить грамотные запросы по следующей задаче:

Есть список сотрудников в следующем формате:
----------
Имя
- Покраска пола 7%
- Покраска окон 10%
- Покраска фасада 15%
...
----------
У каждого сотрудника своя процентная ставка...


Задача: руководитель вводит в строку список работ ($words = "покраска окон, покраска пола") и количество показываемых записей ($num=4)... А ему выдается список
из 4 записей где указаны имена сотрудников выстроены по правилам:
1. Выборка сначала всех по первой указанной работе, сортировка по процентам, затем по второй работе, также сортировка по процентам и т.д.
2. Если записей набралось = $num, то тогда прекратить поиск и показать их...


Буду очень благодарен тому, кто подскажет правильное направление действий
Название: Задача
Отправлено: CGVictor от 30 Мая 2006, 12:36:50
Error202
http://mysql.ru/docs/
GROUP, ORDER
Название: Задача
Отправлено: Error202 от 30 Мая 2006, 12:39:42
Это я понимаю, а как их применить для конкретной задачи?
Может не сложно, но что-то я не могу сообразить...  :(
Название: Задача
Отправлено: CGVictor от 30 Мая 2006, 12:59:38
Error202
GROUP BY job ORDER BY percent DESC LIMIT 0,4 выдает что-то неудачное?
Название: Задача
Отправлено: Error202 от 30 Мая 2006, 13:05:34
Да тут соль в том, что у одного сотрудника несколько видов работ, т.е. таблица имеет вид:
id
name (varchar)
w1 (varchar)
p1 (integer)
w2 (varchar)
p2 (integer)
...

Или можно как-нть поудачнее сделать таблицу?
Название: Задача
Отправлено: for_i_0 от 30 Мая 2006, 13:07:07
Error202
Честно говоря не совсем понимаю в чем именно состоит сложность. В формировании структуры или в выводе информации ?
Название: Задача
Отправлено: Error202 от 30 Мая 2006, 13:20:36
Мне нужно правильно сформировать таблицу, а потом выбрать указанным выше образом по запросу данные...
Название: Задача
Отправлено: for_i_0 от 30 Мая 2006, 13:20:58
Error202
теперь, думаю ясно.
Создаешь таблицу с 4-мя полями:

варинат 1:
1  идинтификатор
2. Имя Сотрудника
3. Выполняемая работа
4. Процент выполненой работы

Если в выполняемой работе задействованно несколько рабочих.
и наоборот.

вариант 2:
тогда лучше Работу и сторудников раделить на две таблицы а в третей их связать по идентификаторам задания и сотрудников.
Название: Задача
Отправлено: Error202 от 30 Мая 2006, 13:29:59
СПАСИБО!!!!!!!! Сделал по второму варианту...
Голова совсем отказывается думать...
Название: Задача
Отправлено: for_i_0 от 31 Мая 2006, 19:51:52
тема закрыта.