1
У меня есть данные, как этот результат из моего запроса запроса:Транспонирование Таблица Mysql
SELECT name, id, Status, COUNT(*) as Result
FROM `pks_developer` d, pks_mitra m
LEFT JOIN status_alpro ON m.id_status = status_alpro.id_status
WHERE d.id_pks_deventer code here = m.id_pks_dev
GROUP BY developer, m.id_status
Результат:
Name Status Count
AB A 1
AL B 1
BD UP 1
BD PD 1
DA PM 1
DA PD 1
DH UP 1
Но я хочу перенести это нравится:
Name A B UP PD PM
AB 1 0 0 0 0
AL 0 1 0 0 0
BD 0 0 1 1 0
DA 0 0 0 1 1
DH 0 0 1 0 0
I 'Пробовал с этим запросом, но это не помогло:
SELECT name,
MAX(CASE WHEN id = 0 THEN Result END) A,
MAX(CASE WHEN id = 1 THEN Result END) B,
MAX(CASE WHEN id = 2 THEN Result END) UP,
MAX(CASE WHEN id = 3 THEN Result END) PD,
MAX(CASE WHEN id = 4 THEN Result END) PM
FROM (
SELECT name, id, Status, COUNT(*) as Result
FROM `pks_developer` d, pks_mitra m
LEFT JOIN status_alpro ON m.id_status = status_alpro.id_status
WHERE d.id_pks_dev = m.id_pks_dev
GROUP BY developer, m.id_status
)s GROUP BY name
В результате, как это:
Name A B UP PD PM
DH 0 0 1 0 0
Любой неправильно с моим запросом?
где id в нижнем SQL? –
@VenkateshPanabaka, извините, сэр. Я исправил это снова. – Bobs
Попробуйте: 'MAX (CASE WHEN Status = 'A' THEN Результат ELSE 0 END) A,' и т. Д. Вместе с 'GROUP BY name' в конце. –