Хорошо, вот еще один ответ для вас. Я все еще рекомендую предыдущий, и рефакторинг вашего кода и вашей базы данных потребует некоторой работы, но это не невозможно. Сценарий обновления для вашей базы данных должен быть достаточно простым для написания, чтобы вы могли сохранить все свои данные ..
В любом случае, здесь есть решение. Снова вы должны перевести имена полей, потому что я построил это, используя свой собственный набор тестов:
select * from
(select id as id, "version 1" as version , price1 as price from tx_rtmur_bricks
where price1 is not null
union
select id, "version 2", price2 from tx_rtmur_bricks where price2 is not null
union
select id, "version 3", price3 from tx_rtmur_bricks where price3 is not null
) p
group by p.id, p.price asc;
Итак, вы видите, насколько все сложнее становится ...
Возможно, вам придется настроить группу с помощью параметров и добавить несколько столбцов к выборкам, чтобы получить именно то, что вы хотите.
Редактировать: результат должен быть примерно таким:
Product, Version, Price
123, "Version 1", 5.50
123, "Version 3", 7.50
134, "Version 1", 5.50
134, "Version 2", 6,50
154, "Version 3", 8,50
etc