Здравствуйте.
Имеется представление, созданное на основе запроса с агрегатной функцией. Не могу такой столбец вставить в QSqlRelationalTableModel с помощью QSqlRelation.
Представление (добавляет столбик тех, кто ссылается на текущую запись из другой таблицы):
SQL
CREATE VIEW [view_maintenance_trolleybus] AS
SELECT maintenance.id, maintenance.name, group_concat(trolleybus.id)
FROM maintenance
LEFT OUTER JOIN trolleybus
ON maintenance.id = trolleybus.maintenance_id
GROUP BY maintenance.id
Вот так пытаюсь заменить в другой таблице:
model->setRelation( 3, QSqlRelation( "view_maintenance_trolleybus", "id", "group_concat(trolleybus.id)" ) );
model->Select() проходит с ошибкой:
"near "(": syntax error Unable to execute statement"Использую SQLite, как я понял, поименовать столбцы в представлении нельзя. Тот же самый запрос работает как задумано с QSqlQueryModel, но вариант не утраивает, так как хочется редактируемую таблицу.
UPD: [РЕШЕНО]
В SQLite возможно переименовать столбцы в представлении, если переименовать их внутри образующего SELECT с помощью оператора AS.
SQL
SELECT maintenance.id, maintenance.name, group_concat(trolleybus.id) AS "newname"
Теперь данное представление можно использовать в Qt.