mysql показывает столбцы для каждого из названий тарифов

#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 и т.д… ГРУППИРУЙТЕ ПО…