Задать вопрос
dilepremon
@dilepremon
Студент-заочник, учусь, работаю

Как осуществить вывод динамических параметров из таблицы базы данных?

Вводная: требуется программа для взвешивания продуктов, кроссплатформенная (Linux, Windows, android и тп), в базе данных нужны следующие таблицы:
Продукты, Взвешивание, Параметры продуктов, Оператор весов.

У каждого продукта есть свой набор параметров, его можно изменять динамически.
Вывести сводную таблицу взвешиваний по продуктам, т.е. в заголовке продукт, далее его взвешивания.

В каждой строке взвешивания должны быть указаны значения параметров соответствующего продукта, а в заголовках столбцов - названия этих параметров.

В базе сделал следующие таблицы (синхронизация осуществляется программно):

WeighingParameters
Id | Weighing | Parameter | Value

ProductParameters
Id | Product | Parameter

Weighing
Id | Product | Operator | DateTime | Weight

Вывести необходимо таблицу вида
Id | Product | Operator | DateTime | Weight | (и вот здесь столбцы параметров для выбранного продукта)

Планирую использовать QSqlQueryModel в связке с QTableView, но никак не получается составить sql-запрос для получения последней таблицы.
  • Вопрос задан
  • 107 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
PIVOT.

Дополнение

Для отображения непостоянного списка атрибутов можно использовать табличное представление:
5cc808e03cc1d203700022.png
или:
5cc808ee2c0f7926631262.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
Неправильно спроектирована БД, если не исправите сейчас потом будут проблемы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽