SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 12.06.2011 15:31:19

evgeniy123
Участник
Зарегистрирован: 12.06.2011
Сообщений: 9

Помогите создать запрос

Здравствуйте. Помогите пожалуйста составить запрос, чтобы определить самого дешевого работника за 1 час,30мин (1_amount_incall - цена).У самого не на это мозгов пока не хватает sad Заранее благодарен


Прикрепленные файлы:
Attachment Icon que.jpg, Размер: 53,729 байт, Скачано: 630

Неактивен

 

#2 13.06.2011 15:27:01

D.Demon
Участник
Зарегистрирован: 10.06.2011
Сообщений: 10

Re: Помогите создать запрос

Поясни задачу:
Где в твоей таблице время а где тариф? И, если я правильно определил поля, у тебя указывается время и тариф? Почему тогда оно указывается как 30 и 1 - типа 30 минут и 1 час?

почему не сделал таблицу с такими полями:
id
name
work_time - в минутах : 30 минут, 60 минут .... (лучше все же тариф указывать за одинаковый промежуток времени!)
tariff - float

тогда считать удобно.

Неактивен

 

#3 13.06.2011 16:26:32

evgeniy123
Участник
Зарегистрирован: 12.06.2011
Сообщений: 9

Re: Помогите создать запрос

Делал таблицу не я. Согласен что неудобно. 1_time_incall Может принимать  любые числовые значения. Фильтруется заранее чтобы не было 60 часов вместо 60 минут. Поле 1_init_incall может принимать значения 1 (минут), 2(часов), 3 (дней). Если нужно допустим сделать выборку по 30 минутам то получается WHERE 1_time_incall =30 , 1_init_incall =1.
А как потом склеить все столбы  повторяющийся (1_incall_amount)(Их показано здесь  только 2) и по ним выводит (example 20,30,100,300) (DESC or ASC).

Неактивен

 

#4 13.06.2011 20:36:02

D.Demon
Участник
Зарегистрирован: 10.06.2011
Сообщений: 10

Re: Помогите создать запрос

Ндаааа....

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

Может таблицу полностью покажи, с данными и примером того что надо получить.

Неактивен

 

#5 14.06.2011 09:09:55

evgeniy123
Участник
Зарегистрирован: 12.06.2011
Сообщений: 9

Re: Помогите создать запрос

Для четырех блоков. Для каждого делаем выборку и узнаем цену по возрастающей или убывающей. Но это по раздельности(в примере ниже), а надо что бы все сразу 4 блока (справо на картинке написал repeat) выводились по amount_incall (ASC , DESC),которые мы как будто би склеиваем чтобы сравнить. При условии конечно допустим (1_time_incall =30 AND 1_unit_incall =1   ==  30min). база так и выглядеть как на рисунке.

SELECT user_id,1_amount_incall FROM `prefix_user` WHERE 1_time_incall =30 AND 1_unit_incall =1 ORDER BY 1_amount_incall ;
SELECT user_id,2_amount_incall FROM `prefix_user` WHERE 2_time_incall =30 AND 2_unit_incall =1 ORDER BY 2_amount_incall ;
SELECT user_id,3_amount_incall FROM `prefix_user` WHERE 3_time_incall =30 AND 3_unit_incall =1 ORDER BY 3_amount_incall ;
SELECT user_id,4_amount_incall FROM `prefix_user` WHERE 4_time_incall =30 AND 4_unit_incall =1 ORDER BY 4_amount_incall ;

Отредактированно evgeniy123 (14.06.2011 19:43:55)


Прикрепленные файлы:
Attachment Icon lomi.jpg, Размер: 99,430 байт, Скачано: 336

Неактивен

 

Board footer

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