SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 24.01.2011 12:15:34

paramonies
Участник
Зарегистрирован: 24.01.2011
Сообщений: 2

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

Есть таблица Bill:

Client    Service         Price
AAA      Fee_1           100
AAA      Fee_2           200
AAA      Connection    500
BBB       Fee_1          100
BBB       Fee_3          300
BBB       Excess         800

необходимо для каждого клиента объединить услуги с префиксом Fee в одну, а остальные услуги вывести в неизменном виде, т.е получить таблицу:
Client    Service         Price
AAA      Fee              300
AAA      Connection    500
BBB       Fee             400
BBB       Excess         800

Заранее спасибо.

Неактивен

 

#2 24.01.2011 12:55:30

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

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

Очень неудачная организация данных. Лучше бы Fee и его номер
держать в разных столбцах. А так прийдется делать какую-то сложную
логику на этапе выборки.

SELECT Client, IF(LOCATE('_', Service), LEFT(Service,LOCATE('_',Service)), Service) AS Service, SUM(Price)
FROM Bill
GROUP BY 1,2;

Неактивен

 

#3 25.01.2011 13:04:09

paramonies
Участник
Зарегистрирован: 24.01.2011
Сообщений: 2

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

Спасибо, а если бы в таблице был еще один столбец - Service_id ?

Client    Service         Price   Service_id
AAA      Fee_1           100        5
AAA      Fee_2           200        6
AAA      Connection    500      100
BBB       Fee_1          100         5
BBB       Fee_3          300         7
BBB       Excess         800       101

Неактивен

 

#4 25.01.2011 14:06:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

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

Не понял вопроса — Вы имеете в виду организацию данных? _1 и _2
лишние тогда smile

Неактивен

 

Board footer

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