我正在開發一個帶有這個sql代碼的qt程序,代碼的邏輯是,我需要得到一些信息,其中任何引入的字段都是正確的。問題是我想要得到的一個字段nombre.padres
在另一個表padres
中,並且信息出現的主表是usuarios
因此usuarios
中的值是[email protected]
並且padres
中的值[email protected]
與文本字段i相關聯想在這種情況下得到(nombre.padres
)。SQL準備的innerjoin不起作用
我闡述的代碼是這一個:
QSqlQuery query;
query.prepare("SELECT usuarios.id, usuarios.nombre, usuarios.curso, usuarios.grupo, usuarios.alergias, padres.nombre"
"FROM usuarios INNER JOIN padres ON usuarios.idmail = padres.email WHERE (padres.nombre=:apellidointro OR"
" usuarios.nombre=:nombreintro OR usuarios.id=:idintro OR usuarios.curso=:cursointro OR usuarios.grupo=:grupointro "
"OR usuarios.alergias=:alergiasintro)");
query.bindValue(":nombreintro", ui->lineEdit_3->text());
query.bindValue(":apellidointro", ui->lineEdit_4->text());
query.bindValue(":idintro", ui->lineEdit_5->text());
query.bindValue(":cursointro", ui->comboBox_2->currentText());
query.bindValue(":grupointro", ui->comboBox->currentText());
query.bindValue(":alergiasintro", ui->lineEdit_6->text());
query.exec();
不過是給我下面的錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN padres ON usuarios.idmail = padres.email WHERE (padres.nombre='' OR u' at line 1 QMYSQL: Unable to execute query
在兩個表中有一個名爲列,這就是爲什麼我們有nombre.usuarios
這還好吧和nombre.padres
這是造成我的問題。
總結我想從表中得到padres
鏈接名稱[email protected]
當用戶輸入nombre.padres
但該查詢我也想從usuarios
表中的多個信息。
謝謝你的回答,你是對的。有些禮貌將不勝感激:) –