Как организовать хранение сложных прайсов в базе данных?
Первый раз слышу о хранении прайсов в БД.
Какой смысл?
В БД хранятся данные, а если вам нужен прайс - вы вытаскиваете нужные данные из БД и формируете прайс.
А хранить прайс это дикость какая-то.
Ну сохранили вы прайс в БД, а он через секунду стал неактуальным.
Возможно, из моего описания сложилось некорректное понимание задачи в целом. Я описал ее подробнее в комментарии к другому ответу. Сам я решил проблему через отдельную таблицу "Прайсы", где для каждого набора входных параметров (благо ветвление не очень большое) хранится значение стоимости. Часть критериев и параметров удалось упростить/формализовать/убрать, поэтому в моем случае львиная доля решения - работа над задачей, над ее пониманием и выбором подхода к решению.