У меня есть таблица в MySQL, подобная следующей.
mysql> select id, bill_output_id, bill_output_number
from order_view;
+----+----------------+--------------------+
| id | bill_output_id | bill_output_number |
+----+----------------+--------------------+
| 1 | 2;4;5 | 500;1111111;12312 |
| 3 | NULL | NULL |
+----+----------------+--------------------+
Могу ли я "разгруппировать" второй и третий столбцы, чтобы получить следующий вывод?
+----+----------------+--------------------+
| id | bill_output_id | bill_output_number |
+----+----------------+--------------------+
| 1 | 2 | 500 |
| 1 | 4 | 1111111 |
| 1 | 5 | 12312 |
| 3 | NULL | NULL |
+----+----------------+--------------------+
Мой код вида:
CREATE ALGORITHM=UNDEFINED DEFINER=dev@localhost SQL SECURITY DEFINER VIEW order_view AS
select o.ID AS id
,o.DOC_NUMBER AS order_doc_number
,o.DOC_DATE AS order_doc_date
,o.TOTAL_SUM AS order_sum
,bin.id AS bill_input_id
,bin.doc_number AS bill_input_number
,bin.doc_date AS bill_input_date
,bin.total_sum AS bill_input_sum
,bout.id AS bill_output_id
,bout.doc_number AS bill_output_number
,bout.doc_date AS bill_output_date
,bout.total_sum AS bill_output_sum
from (((
porder o
left join bill_input_view bin on((bin.order_id = o.ID)))
left join bill_output_view bout on((bout.order_id = o.ID)))
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW bill_input_view AS
select
group_concat(bin.ID) AS id
,group_concat(bin.DOC_NUMBER) AS doc_number
,group_concat(bin.DOC_DATE) AS doc_date
,group_concat(bin.TOTAL_SUM) AS total_sum
,bin.ORDER_ID AS order_id
from
bill_input bin group by bin.ORDER_ID
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW bill_output_view AS
select
group_concat(bin.ID) AS id
,group_concat(bin.DOC_NUMBER) AS doc_number
,group_concat(bin.DOC_DATE) AS doc_date
,group_concat(bin.TOTAL_SUM) AS total_sum
,bin.ORDER_ID AS order_id
from
bill_output bin group by bin.ORDER_ID