SQL语句的某些部分嵌套太深.pyodbc



我正试图使用pyodbc从ms-sql服务器获取数据。我得到以下错误:

编程错误:('42000','[42000][Microsoft][ODBC SQL Server驱动程序][SQL Server]SQL语句的某些部分也嵌套了深深地重写查询或将其分解为更小的查询。(191)(SQLExecDirectW)')

代码如下:

        conn = pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=Morphemes;')
        cursor = conn.cursor()
        Func = list()
        sql_VerbDecl = "SELECT (stem_.kök + conj_.suffix) as tokenn  FROM TBL_Stem as stem_ INNER JOIN TBL_VerbDecl  as conj_ on  conj_.node =  stem_.node;"
        cursor.execute(sql_VerbDecl)
        rows = cursor.fetchall()

问题是unicode问题。当我把stem_kök改成stem_kok时,问题解决了。

您不需要任何"AS废话"。尝试完全相同的代码,除了sql_VerbDecl="SELECT 1;",看看是否会出现相同的错误。试试这个,它可能不是确切的语法,但你应该了解SELECT "TBL_Stem.kök", "TBL_VerbDecl.suffix" FROM "TBL_Stem" INNER JOIN "TBL_VerbDecl" ON "TBL_Stem".node = "TBL_VerbDecl".node;参考:http://www.w3schools.com/sql/sql_join_inner.asp关于如何INNER JOIN。此外,只要表名或表列包含大写,就需要将其括在"中,否则SQL就不知道它是大写的。

相关内容

  • 没有找到相关文章

最新更新