Qt:查看具有指向多个其他表的外键列的表中的数据

发布于 2024-11-27 17:40:50 字数 942 浏览 2 评论 0原文

我有一个表 Thingsies,其中包含 iddata1otherTableIdotherTableRowId 列。我需要最后两列而不仅仅是外键列,因为根据 Thingy 我想要的信息类型有所不同。
otherTableId 引用表 OtherTables 中的 id,该表本身具有名为 idtableName.这些 tableNames 是其他表的名称,例如 OtherTable1OtherTable2
Thingies 中的 otherTableRowId 列引用 OtherTable 中由 otherTableId 给出的 idOtherTables 本身包含更多数据。 Thingies 与 OtherTables 之一中的条目之间存在一一对应关系。因此 Thingies 中的行数是所有 OtherTables 中的总行数。 (这是糟糕的设计吗?)

我想在 QTableView 中显示 Thingies,其中包含 iddata1data2< 列/code>,其中 data2 是根据 otherTableIdotherTableRowId 以编程方式生成的。我应该如何进行?

谢谢。

I have a table Thingsies, with columns id, data1, otherTableId, otherTableRowId. I need the last two columns instead of just a foreign key column because depending on the Thingy the type of information I want there is different.
otherTableId references an id in the table OtherTables, which itself has columns called id and tableName. These tableNames are the names of other tables, like OtherTable1, OtherTable2.
The column otherTableRowId in Thingies references an id in the OtherTable given by otherTableId. The OtherTables themselves have more data in them. There's a one-to-one correspondence between Thingies and entries in one of the OtherTables. So the number of rows in Thingies is the total number of rows in all the OtherTables. (Is this bad design?)

I want to display Thingies in a QTableView that has columns for id, data1, and data2, where data2 is generated programatically from otherTableId and otherTableRowId. How should I proceed?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只有一腔孤勇 2024-12-04 17:40:50

我想我已经解决了这个问题。我使用的是 QSqlQueryModel,其查询是一堆选择语句的联合,每个 OtherTable 一个。无论如何,每个 select 语句都必须使用特殊表达式以某种方式合并(例如连接)每个 OtherTable 独有的数据,因此至少对于 OtherTables 表来说对我来说没有用处。

I think I've solved this. I'm using a QSqlQueryModel whose query is a union of a bunch of select statements, one for each OtherTable. Each select statement has to somehow merge (e.g., concatenate) the data unique to each OtherTable using a special expression anyway, so there's no use for me at least for the OtherTables table.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文