繁体   English   中英

python中的SQLite INNER JOIN:sqlite3.OperationalError:没有这样的列:

[英]SQLite INNER JOIN in python: sqlite3.OperationalError: no such column:

我在python中遇到SQLite问题。 由于该错误,以下代码似乎无法正常工作

sqlite3.OperationalError:没有这样的列:Company

我正在尝试从两个表中收集数据,并使用制表法将其显示给用户,但无法继续进行,而且我无法弄清楚如何解决此问题。 该解决方案可能很简单,但是由于我的编程知识有限,所以我不确定该如何进行。

这是代码:

def view_all_by_CompID(data):        
    with sqlite3.connect("Clients.db") as db:
        cursor = db.cursor()
        cursor.execute("""SELECT CompanyID, Forename, Surname, eMail
                       FROM Clients
                       JOIN Company
                       ON Clients.CompanyID = Company.CompanyID
                       WHERE CompanyID = ?""",(data,))
        ViewData = cursor.fetchall()
        DataTableCompAndClient([ViewData])
    db.commit()

我不确定为什么会这样,因为我确定两个表都存在并且(我相信)正确地调用了它们。 我不知道为什么它总是给我错误,所以任何帮助将不胜感激。 以下是有关代码的一些详细信息:

Clients.db =数据库文件的名称

客户=存放客户信息的表

公司=存放公司信息的表

CompanyID =两个表中都存在一个指定的公司ID号

我在此站点上查看了各种示例,但似乎无法解决问题。 任何意见,将不胜感激。

我已经在朋友的帮助下解决了这个问题。 缺少一些需要输入的代码行,如下所示:

def view_all_by_CompID(data):        
    with sqlite3.connect("Clients.db") as db:
        cursor = db.cursor()
        cursor.execute("""SELECT Clients.CompanyID, Clients.Forename, Clients.Surname, Clients.eMail, Company.CompanyID, Company.CompanyName
                       FROM Clients
                       INNER JOIN Company
                       ON Clients.CompanyID = Company.CompanyID
                       WHERE Clients.CompanyID = ?""",(data,))
        ViewData = cursor.fetchall()
        DataTableCompAndClient([ViewData])
    db.commit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM