SQL编写的内连接不起作用

时间:2017-04-23 16:26:21

标签: mysql sql qt

我正在开发一个带有这个sql代码的qt程序,代码的逻辑是,我需要获取一些引入字段正确的信息。问题是,我试图获取nombre.padres的其中一个字段位于另一个表padres中,而信息来源的主表是usuarios所以usuarios中的值1}}是something@something.com,而padres中的值something@something.com与我想要获得的文本字段nombrenombre.padres)相关联。< / p>

我详细阐述的代码就是这个:

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服务器版本相对应的手册,以获得正确的语法,以便在内部加入&#39; INNER JOIN padres on usuarios.idmail = padres.email WHERE(padres.nombre =&#39;&#39; OR u&#39 ;第1行QMYSQL:无法执行查询

在这两个表格中都有一个名为nombre的专栏,这就是为什么我们nombre.usuarios有问题,而nombre.padres导致我这个问题。

总结当用户输入something@something时,我希望从表padres获取nombre.padres的链接名称,但是使用该查询我还想从{{{{}}获取多个信息1}}表。

1 个答案:

答案 0 :(得分:1)

如果您打印出正在运行的查询,您将看到它以:

开头
FROM

这显然在语法上不正确(滚动查看 Sub ImportWordTable() Dim sPfad As String Dim appWord As Object Dim strDatei As String Dim TableNo As Integer 'table number in Word Dim iRow As Long 'row index in Word Dim jRow As Long 'row index in Excel Dim iCol As Integer 'column index in Excel sPfad = "C:\Users\tim\Test2\" '<== adjust path Application.ScreenUpdating = False Set appWord = CreateObject("Word.Application") appWord.Visible = True strDatei = Dir(sPfad & "*.doc*") Do While strDatei <> "" appWord.Documents.Open sPfad & strDatei 'Read all tables of the document body If appWord.ActiveDocument.tables.Count = 0 Then MsgBox "This document contains no tables", _ vbExclamation, "Import Word Table" Else jRow = 0 Sheets.Add after:=Sheets(Worksheets.Count) ActiveSheet.Name = strDatei & "Label-Text" For TableNo = 1 To appWord.ActiveDocument.tables.Count With appWord.ActiveDocument.tables(TableNo) 'copy cell contents from Word table cells to Excel cells For iRow = 1 To .Rows.Count jRow = jRow + 1 For iCol = 1 To .Columns.Count On Error Resume Next ActiveSheet.Cells(jRow, iCol) = WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text) On Error GoTo 0 Next iCol Next iRow End With jRow = jRow + 1 Next TableNo End If appWord.ActiveDocument.Close savechanges:=False strDatei = Dir Loop appWord.Quit Set appWord = Nothing End Sub )。

了解如何进行一些基本的调试。