Я пытался объединить несколько строк в одну строку с разными столбцами, но это дало разные способы. Есть мои данные.mysql/сводная таблица с двумя таблицами
таблица 1:
| id | name | Invoice value | invoice_date |
|----|------|---------------|--------------|
| 1 | A | 5000 | 30-01-2016 |
| 2 | B | 8000 | 02-05-2016 |
| 3 | C | 10000 | 03-05-2016 |
table2:
| id | invoice_id | duedate | amount | percentage |
|----|------------|------------|--------|------------|
| 1 | 1 | 15-01-2016 | 2500 | 50% |
| 2 | 1 | 30-01-2016 | 2500 | 50% |
| 3 | 2 | 15-02-2016 | 8000 | 100% |
| 4 | 3 | 15-05-2016 | 5000 | 50% |
| 5 | 3 | 19-05-2016 | 2500 | 25% |
| 6 | 3 | 25-05-2016 | 2500 | 25% |
и желаемый результат должен быть как следующим
| name | invoice_value | invoice_date | due date1 | due amount1 | due date2 | due amount2 | due date3 | due amount3 |
|------|---------------|--------------|------------|-------------|------------|-------------|------------|-------------|
| A | 5000 | 30-01-2016 | 15-01-2016 | 2500 | 30-01-2016 | 04-11-1906 | null | null |
| B | 8000 | 02-05-2016 | 15-02-2016 | 8000 | null | null | null | null |
| C | 10000 | 03-05-2016 | 15-05-2016 | 5000 | 19-05-2016 | 2500 | 19-05-2016 | 2500 |
вот мой запрос, но его дает результат с запятыми duedates .i dnt wnat вот так.
SELECT
T1.name,
T1.invoice_value,
T1.invoice_date,
T1.duedate,
T1.dueamount
FROM
(SELECT
table1.name,
table1.invoice_value,
table1.invoice_date,
GROUP_CONCAT(table2.duedate1) AS duedate,
GROUP_CONCAT(table2.dueamount1) AS dueamount
FROM
table1
LEFT JOIN table2 ON table1.id = table2.invoice_id) T1
GROUP BY T1.id
Пожалуйста, помогите мне разобраться с каким-нибудь телом.