Il_noor
@Il_noor
Физик

Как сделать сортировку по совпадению (QSqlTableModel )?

Все привет)
Использую QSqlTableModel.
В QtableView сначала надо показать записи для author = 'user', а ниже все остальные записи.
Попробовал model->setFilter(QString(AUTHOR" like 'user' ")); но так остальные записи не выводятся (что и очевидно).

p.s: Если написать model->setFilter(QString(AUTHOR" like 'user%' ")); Выводятся еще записи для user2
Пока что больше ничего не придумал.
  • Вопрос задан
  • 40 просмотров
Решения вопроса 2
BojackHorseman
@BojackHorseman
...в творческом отпуске...
как всегда нужно плясать от итогового sql-запроса

у вас должно получиться в итоге что-нибудь типа этого

ORDER BY CASE WHEN author = 'user' THEN 1 ELSE 0 END DESC


пишу на близком моему сердцу мускульном диалекте, на стандартном t-sql будет чутка по-другому
Ответ написан
Il_noor
@Il_noor
Физик
В итоге сделал вот так:
model->setFilter("1=1 ORDER BY CASE Author WHEN 'user' THEN '1' ELSE '0' END DESC");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы