2016-03-13 4 views
0

Я застрял в поворотных ниже выпуске в SQL, основная таблица нижеперечисленнымSql Pivoting с два агрегатной Функцией

|PLACE| DATE_1 |ID | FQ | PLAN| 
--------------------------------- 
Alpha |01-03-16 | A | 100| YES | 
Alpha |01-03-16 | A | 50 | YES | 
Alpha |02-03-16 | A | 10 | YES | 
BETA |02-03-16 | C | 80 | YES | 
BETA |02-03-16 | D | 9 | YES | 
BETA |03-03-16 | D | 11 | YES | 
BETA |03-03-16 | E | 13 | YES | 
-------------------------------- 

Но нужно выход в ниже формате

 |Sum of FQ | Plan  |Sum of FQ | Plan  | 
| Place |ID |01-03-16 | 01-03-16 | 02-03-16 | 02-03-16 | 
| Alaph |A |100  | YES  | 10  | NO  | 
| Alaph |B |50  | YES  |   |   | 
| Beta |C |   |   | 80  | NO  | 
+0

Вы хотите две строки заголовка. Если да, то подумайте об этом со стороны приложения –

+0

Да, я хочу два заголовка за ту же дату с количеством и планом. Пожалуйста, помогите, я новичок в sql –

+0

Кто-нибудь здесь, чтобы помочь ??? –

ответ

0

Ваш вывод не имеет никакого смысла, учитывая входные данные. Я предполагаю, что вы хотите условную агрегацию:

select place, id, 
     max(case when date_1 = '2016-03-01' then fq end) as fq_20160301, 
     max(case when date_1 = '2016-03-01' then plan end) as plan_20160301, 
     max(case when date_1 = '2016-03-02' then fq end) as fq_20160302, 
     max(case when date_1 = '2016-03-02' then plan end) as plan_20160302 
from t 
group by place, id; 

Обратите внимание, что в этом случае используются стандартные константы даты ISO. Если вы храните даты в виде строки (это действительно плохая идея), вам нужно будет адаптировать логику для ваших данных.

Смежные вопросы