У меня есть таблица MySQL с четырьмя столбцами subfield_id, submission_id, field_id, value
Я сделал два взгляда:
1.
SELECT submission_id,
MAX( CASE field_id WHEN '1' THEN value ELSE '0' END ) Usernumber,
MAX( CASE field_id WHEN '2' THEN value ELSE '0' END ) Company,
MAX( CASE field_id WHEN '3' THEN value ELSE '0' END ) Zipp,
FROM table
GROUP BY submission_id
Результирующие столбцы таблицы: Submission_id, Usernumber, Company, Zipp
2.
SELECT submission_id,
MAX( CASE field_id WHEN '4' THEN value ELSE '0' END ) Usernumber1,
MAX( CASE field_id WHEN '5' THEN value ELSE '0' END ) Partnernumber
FROM table
GROUP BY submission_id
Результирующие столбцы таблицы: Submission_id, Usernumber1, Partnernumber
Usernumber
а также Usernumber1
одно и то же число
Как сделать вид со следующими столбцами?
Usernumber, Company, Zipp, Partnernumber
Просто напишите это в одном запросе:
SELECT submission_id,
MAX( CASE field_id WHEN '1' THEN value ELSE '0' END ) as Usernumber,
MAX( CASE field_id WHEN '2' THEN value ELSE '0' END ) as Company,
MAX( CASE field_id WHEN '3' THEN value ELSE '0' END ) as Zipp,
MAX( CASE field_id WHEN '5' THEN value ELSE '0' END ) as Partnernumber
FROM table
GROUP BY submission_id;
Представления не помогут вам в этом вопросе.
РЕДАКТИРОВАТЬ:
На основании вашего комментария:
select *
from view1 v1 join
view2 v2
using (Usernumber);
Других решений пока нет …