Mysql SQL准备的innerjoin不工作
我正在用qt开发一个程序,它有这个sql代码,代码的逻辑是,我需要得到一些信息,其中任何引入的字段都是正确的。问题是,我试图获取的一个字段Mysql SQL准备的innerjoin不工作,mysql,sql,qt,Mysql,Sql,Qt,我正在用qt开发一个程序,它有这个sql代码,代码的逻辑是,我需要得到一些信息,其中任何引入的字段都是正确的。问题是,我试图获取的一个字段nombre.padres位于另一个表padres中,信息来自的主表是usuarios,因此usuarios中的值是something@something.com和padres中的值something@something.com链接到本例中我想要获取的文本字段nombre(nombre.padres) 我阐述的代码如下: QSqlQuery query; qu
nombre.padres
位于另一个表padres
中,信息来自的主表是usuarios
,因此usuarios
中的值是something@something.com
和padres
中的值something@something.com
链接到本例中我想要获取的文本字段nombre
(nombre.padres
)
我阐述的代码如下:
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();
但是给了我以下的错误:
您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在usuarios.idmail=padres.email上使用near'INNER JOIN padres,其中(padres.nombre=''或u',第1行QMYSQL:无法执行查询
在两个表中都有一列名为nombre
,这就是为什么我们有nombre.usuarios
,这是正确的,nombre.padres
,这导致了我的问题
总结我想得到链接到
something@something
当用户输入nombre.padres
时,从表padres
中,但通过该查询,我还希望从usuarios
表中获取多个信息。如果打印出正在运行的查询,您将看到它以以下内容开始:
SELECT usuarios.id, usuarios.nombre, usuarios.curso, usuarios.grupo, usuarios.alergias, padres.nombreFROM usuarios
这显然在语法上不正确(滚动查看中的)
了解如何进行一些基本的调试。谢谢您的回答,您是正确的。请礼貌地回答:)