Qt: просмотр данных из таблиц со столбцами внешнего ключа, указывающими на несколько других таблиц - PullRequest
0 голосов
/ 03 августа 2011

У меня есть таблица Thingsies, с колонками id, data1, otherTableId, otherTableRowId.Мне нужны последние два столбца, а не просто столбец внешнего ключа, потому что в зависимости от Thingy требуемый тип информации различается.
otherTableId ссылается на id в таблице OtherTables, которая сама по себеимеет столбцы с именами id и tableName.Эти tableNames являются именами других таблиц, например OtherTable1, OtherTable2.
Столбец otherTableRowId в Thingies ссылается на id в OtherTable, заданном otherTableId.Сами OtherTables содержат больше данных.Существует однозначное соответствие между Thingies и записями в одном из OtherTables.Таким образом, количество строк в Thingies - это общее количество строк во всех OtherTables.(Это плохой дизайн?)

Я хочу отобразить Thingies в QTableView, который имеет столбцы для id, data1 и data2, где data2 генерируется программно из otherTableId и otherTableRowId.Как мне поступить?

Спасибо.

1 Ответ

0 голосов
/ 04 августа 2011

Я думаю, что решил это. Я использую QSqlQueryModel, запрос которого представляет собой объединение нескольких операторов выбора, по одному для каждого OtherTable. Каждый оператор выбора должен каким-то образом объединять (например, объединять) данные, уникальные для каждого OtherTable, с помощью специального выражения, так или иначе, поэтому для меня нет смысла, по крайней мере, для таблицы OtherTables.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...