MySQL Pivot/ объединить / переместить строки в столбцы на основе двух идентификаторов столбцов
У меня есть сценарий, в котором я пытаюсь получить данные от длинных до широких. (с использованием MariaDB 10.2 и HeidiSQL 9.4 в Windows)
По сути, я стараюсь, чтобы у каждого идентификатора был один ряд.
У каждого 'id' может быть один или несколько 'sqn' (которые всегда являются последовательными числами для каждого ID, начинающегося с 1.) Я не всегда знаю максимальное число "sqn".
Для каждой комбинации id-sqn есть несколько столбцов, в которых значение является постоянным для каждого 'id' -подобного 'tpn'
Есть другие, которые имеют разные значения, уникальные для каждого "sqn" для каждого "id" - например, "sqft", "amnt" и "date"
Во-первых, это стартовая таблица, во-вторых, где я пытаюсь добраться до:
╔═════╦═════╦═════╦══════╦══════╦═════════╗
║ id ║ sqn ║ tpn ║ sqft ║ amnt ║ date ║
╠═════╬═════╬═════╬══════╬══════╬═════════╣
║ 1 ║ 1 ║ 821 ║ 110 ║ 101 ║ 1/1/00 ║
║ 1 ║ 2 ║ 821 ║ 150 ║ 195 ║ NULL ║
║ 2 ║ 1 ║ 551 ║ NULL ║ 65 ║ 6/1/15 ║
║ 2 ║ 2 ║ 551 ║ 900 ║ 190 ║ 1/1/01 ║
║ 2 ║ 3 ║ 551 ║ 220 ║ 110 ║ 1/1/05 ║
║ 3 ║ 1 ║ 821 ║ 900 ║ 44 ║ 7/1/12 ║
╚═════╩═════╩═════╩══════╩══════╩═════════╝
╔═════╦═══════╦══════╦═══════╦════════╦═══════╦═══════╦═════════╦════════
║ id ║ sqft1 ║ tpn ║ amnt1 ║ date1 ║ sqft2 ║ amnt2 ║ date2 ║ sqft3...
╠═════╬═══════╬══════╬═══════╬════════╬═══════╬═══════╬═════════╬════════
║ 1 ║ 110 ║ 821 ║ 101 ║ 1/1/00 ║ 150 ║ 195 ║ NULL ║ NULL
║ 2 ║ NULL ║ 551 ║ 65 ║ 6/1/15 ║ 900 ║ 190 ║ 1/1/01 ║ 220
║ 3 ║ 900 ║ 821 ║ 44 ║ 7/1/12 ║ NULL ║ NULL ║ NULL ║ NULL
╚═════╩═══════╩══════╩═══════╩════════╩═══════╩═══════╩═════════╩═════════
Конечно, я могу просто выполнить полное руководство, взглянув на каждый экземпляр таблицы, чтобы найти максимальное значение "sqn", а затем просто вручную переместить его в...
Но у меня есть сотни - тысячи таких таблиц, которые часто обновляются (и я не могу изменить форму получаемых данных - я могу только потреблять их, но не проектировать их во внешнем интерфейсе). Я пробовал варианты предложений сводной таблицы - но при использовании обоих "id" и "sqn" я застреваю (например, http://sqlfiddle.com/)
Спасибо!