Существует таблица tbl_Regist:
| ID | CODE | VAL |
+----+--------+-----------+
| 95 | numVz | 06 |
| 95 | prevVz | 84605898 |
| 95 | ndatVz | 10.10.10 |
| 95 | numVz | 06 |
| 95 | prevVz | 14666641 |
| 95 | ndatVz | 11.11.11 |
| 95 | numVz | 06 |
| 95 | prevVz | 84605898 |
| 95 | ndatVz | 12.12.12 |
Мне нужно получить данные в этом представлении:
| ID | numVz | prevVz | ndatVz |
+----|-------+----------+----------+
| 95 | 06 | 84605898 | 10.10.10 |
| 95 | 06 | 14666641 | 11.11.11 |
| 95 | 06 | 84605898 | 12.12.12 |
Мой запрос:
select
t.ID,
max(case when t.code = 'numVz' then t.val end) as numVz
,max(case when t.code = 'prevVz' then t.val end) as prevVz
,max(case when t.code = 'ndatVz' then t.val end) as ndatVz
from tbl_Regist t
where t.ID = 95
group by t.ID
| ID | numVz | prevVz | ndatVz |
+----|-------+----------+----------+
| 95 | 06 | 84605898 | 12.12.12 |
Возвраты только одна строка, если вы удалите агрегатную функцию, она возвращает 9 строк