2011-08-02 6 views
0

いいので、私はQtとデータベースの両方を初めて使います。Qt:複数の他のテーブルを指す外部キー列を持つテーブルのデータを表示

私は列id、data1、otherTableId、otherTableRowIdを持つテーブルThingiesを持っています。 Thingyに応じて、必要な情報の種類が異なるため、私は外来のキー列の代わりに最後の2つの列が必要です。 otherTableIdは、テーブルOtherTablesのidを参照します。それ自体にidとtableNameという列があります。これらのtableNamesは、OtherTable1、OtherTable2などの他のテーブルの名前です。 ThingiesのotherTableRowId列は、otherTableIdによって指定されたOtherTableのIDを参照します。 OtherTables自体には、より多くのデータがあります。 ThingiesとOtherTablesの1つのエントリーとの間には、1対1の対応があります。 Thingiesの行数は、すべてのOtherTableの行の合計数です。

id、data1、およびdata2の列を持つQTableViewにThingiesを表示すると、data2はotherTableIdとotherTableRowIdからプログラムによって生成されます。私はどのように進めるべきですか?

ありがとうございました。

答えて

0

私はこれを解決したと思います。 QSqlQueryModelを使用しています。そのクエリは、各OtherTableに対して1つのselect文の束で構成されています。いずれの選択ステートメントも、特別な表現を使用して、各OtherTableに固有のデータを何らかの形でマージ(連結)しなければならないので、少なくともOtherTablesテーブルでは私にとっては役に立たない。

関連する問題