2011-08-02 33 views
0

好吧,所以我對Qt和數據庫的東西都是新手。Qt:從外鍵列中查看指向多個其他表的數據

我有一個表Thingies,與列id,data1,otherTableId,otherTableRowId。我需要最後兩列而不是外鍵列,因爲根據Thingy我想要的信息類型是不同的。 otherTableId引用表中的一個id OtherTables,它本身具有名爲id和tableName的列。這些tableNames是其他表的名稱,如OtherTable1,OtherTable2。 Thingies中的otherTableRowId列引用otherTableId給出的OtherTable中的id。 OtherTables本身有更多的數據。 Thingies與其中一個OtherTables中的條目之間存在一對一的對應關係。所以Thingies中的行數是所有OtherTables中的總行數。 (這是不好的設計?)

我想在QTableView中顯示Thingies,其中包含id,data1和data2的列,其中data2以編程方式從otherTableId和otherTableRowId生成。我應該如何繼續?

謝謝。

回答

0

我想我解決了這個問題。我使用的QSqlQueryModel的查詢是一堆select語句的聯合,每個OtherTable都有一個。每個select語句都必須以某種方式使用特殊表達式合併(例如連接)每個OtherTable唯一的數據,所以至少對於OtherTables表沒有用處。

相關問題