#mysql
#mysql
Вопрос:
У меня есть следующая таблица
------------ ------------------------ ------------- ------------- --------
| dialprefix | destination | rateinitial | tariffname | id |
------------ ------------------------ ------------- ------------- --------
| 1 | North American Region | 0.01710 | Call Center | 476610 |
| 1201 | United States | 0.01710 | Call Center | 512642 |
| 1201 | United States | 0.01110 | Direct | 586007 |
| 1201 | United States | 0.01055 | Standard | 622786 |
| 1201 | United States | 0.02949 | Premium | 549254 |
| 1201763 | United States - OffNet | 0.01785 | Call Center | 499834 |
| 12017632 | United States - OffNet | 0.01785 | Call Center | 510969 |
| 12017636 | United States - OffNet | 0.01785 | Call Center | 510970 |
| 12017637 | United States - OffNet | 0.01785 | Call Center | 510971 |
| 12017638 | United States - OffNet | 0.01785 | Call Center | 510972 |
------------ ------------------------ ------------- ------------- --------
в столбце tariffname отображаются разные имена, такие как: Call center, Direct, Premium, Standard.
какой запрос mysql мне нужен, чтобы показать столбцы для каждого из названий тарифов и включить тариф, а также удалить все дубликаты dialprefix и использовать только один для отображения его тарифа. например:
------------ ------------------------ ------------- ------------- ------------- -------------
| dialprefix | destination | Call Center | Standard | premium | Direct |
------------ ------------------------ ------------- ------------- ------------- -------------
| 1201 | United States | 0.01710 | 0.01055 | 0.02949 | 0.01110 |
------------ ------------------------ ------------- ------------- ------------- -------------
позже этот запрос кодируется в формате json и передается в таблицы данных для отображения данных.
это запрос, который я использую прямо сейчас:
select cc_ratecard.dialprefix, cc_prefix.destination , cc_ratecard.rateinitial, cc_tariffplan.tariffname, cc_ratecard.id
from cc_ratecard, cc_prefix, cc_tariffplan
where cc_ratecard.dialprefix = cc_prefix.prefix
and cc_tariffplan.id = cc_ratecard.idtariffplan
Комментарии:
1. Я бы посоветовал добавить
sqlfiddle
пример и ознакомиться сpivot tables
.2. MAX (СЛУЧАЙ, КОГДА x = ‘a’, ЗАТЕМ y END) a, MAX (СЛУЧАЙ, КОГДА x = ‘b’, ЗАТЕМ y END) b и т.д… ГРУППИРУЙТЕ ПО…