У меня есть запрос SQL, который генерирует следующее:Сводные строки в столбцы
col1 | col2 | col3
=====================
item1 | key1 | value1
---------------------
item1 | key2 | value2
Это запрос:
SELECT t1.col1, t2.col2, t2.col3
FROM table1 t1
JOIN table2 t2 ON t1.id = t1.table1_id
Данные в таблице 1:
id | col1
=========
1 | item1
2 | item1
данных в table2 :
table1_id | col2 | col3
=====================
1 | key1 | item1
1 | key2 | item2
2 | key1 | item1
2 | key2 | item2
2 | key3 | item3
Количество строк является динамическим, так что я мог бы также получить следующее в некоторых случаях:
col1 | col2 | col3
=====================
item2 | key1 | value1
---------------------
item2 | key2 | value2
---------------------
item2 | key3 | value3
так, как я хочу, чтобы первый запрос, в конечном итоге, как это:
col1 | key1 | key2
=======================
item1 | value1 | value2
И второй запрос будет:
col1 | key1 | key2 | key3
==============================
item2 | value1 | value2 | value3
Есть ли простой способ сделать это без чрезмерного комплексообразования? Я использую MariaDB.
Вы можете использовать 'CASE', но это, вероятно, будет громоздким. – potashin
позволяет увидеть запрос! мы больше не собираемся писать все за вас. – DLeh
Google «динамический сводный мариадб» или «динамический опорный mysql». –