Mysql 2 кросс-таблицы представления не с 1 = 1 отношение в одном представлении

У меня есть таблица 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

0

Решение

Просто напишите это в одном запросе:

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);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector