Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте. Помогите пожалуйста составить запрос, чтобы определить самого дешевого работника за 1 час,30мин (1_amount_incall - цена).У самого не на это мозгов пока не хватает Заранее благодарен
Неактивен
Поясни задачу:
Где в твоей таблице время а где тариф? И, если я правильно определил поля, у тебя указывается время и тариф? Почему тогда оно указывается как 30 и 1 - типа 30 минут и 1 час?
почему не сделал таблицу с такими полями:
id
name
work_time - в минутах : 30 минут, 60 минут .... (лучше все же тариф указывать за одинаковый промежуток времени!)
tariff - float
тогда считать удобно.
Неактивен
Делал таблицу не я. Согласен что неудобно. 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 блока (справо на картинке написал 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)
Неактивен