Как отобразить содержимое нескольких QSqlTableModels в одном QTableView?

у меня есть MySql таблица, давайте назовем это Икс:

CREATE TABLE x (
Id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
A int unsigned NOT NULL,
B int,
FOREIGN KEY (A) REFERENCES y(Id)
);

А потом у меня есть еще одна таблица, давайте назовем ее Y:

CREATE TABLE y (
Id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT,
First varchar(255),
Last varchar(255)
);

Я хочу отобразить таблицу Икс в одной QTableView и вместо колонны из таблицы Икс Я хочу отображать столбцы Первый а также Прошлой из таблицы Y из ряда которого Я бы равно из таблицы Икс.

Есть ли у вас какие-либо идеи? Дайте мне знать, если мое объяснение недостаточно ясно.

1

Решение

Ты можешь использовать QSqlQueryModel с запросом sql join:

QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT x.Id, y.First, y.Last, x.B FROM x ""LEFT JOIN y ON x.A = y.Id");

QTableView *view = new QTableView;
view->setModel(model);
view->show();
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]