Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 4

Qt-interest Archive, May 2007
QSqlTableModel and difficult SELECT routine


Message 1 in thread

Hi!

I have got QSqlTableModel and associated with it QTableView.
To populate model with data I have to use QSqlQuery which is executed on
some other table. How can I add results of QSqlQuery into
QSqlTableModel->filter()

For example I have 2 tables in DB:

-----visits_table-----
|  visit_id |  date  |
----------------------
|    10     |  1-1-2001
|    11     |  2-2-2002
|    12     |  3-2-2002
-----------------------

-----payments_table-----------
|  visit_id  |  price(y.e.)  |
------------------------------
|     10     |    1500       |
|     11     |    7500       |
|     12     |    2700       |
------------------------------

QSqlTableModel payments->setTable( "payments" );
QSqlQuery filter_visit_id_by_date;
filter_visit_id_by_date.exec("SELECT visit_id
FROM visits WHERE date > '1-1-2002' );

This query will return visit_id's for those records that were made after
1-1-2002 ( e.g. in 2002 year and all after this year ).

Now I have to set-up payments model filters to use QSqlQuery results:
-----visits_table-----
|  visit_id |  date  |
----------------------
|    11     |  2-2-2002
|    12     |  3-2-2002
-----------------------

And use those results to filter records inside QSqlTableModel ( payments
model):

-----payments_table-----------
|  visit_id  |  price(y.e.)  |
------------------------------
|     11     |    7500       |
|     12     |    2700       |
------------------------------

E.g. payments->setFilter( "payments.visit_id IN" +
filter_visit_id_by_date????RESULT );

where filter_visit_id_by_date???RESULT == '11 12'

Is it possible to make?






-- 
 [ signature omitted ]