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

B. *_*son 3 python mysql database sqlite

我在 python 中遇到 SQLite 问题。由于错误,以下代码似乎不起作用

sqlite3.OperationalError:没有这样的列:公司

我正在尝试从两个表中收集数据并使用表格将它们显示回用户,但无法继续,我无法弄清楚如何解决这个问题。解决方案可能很简单,但由于我有限的编程知识,我不确定如何继续。

这是代码:

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()
Run Code Online (Sandbox Code Playgroud)

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

Clients.db = 数据库文件名

Clients = 保存客户信息的表

公司 = 保存公司信息的表格

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

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

B. *_*son 5

我在朋友的帮助下解决了这个问题。有几行需要输入的代码缺失,如下所示:

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()
Run Code Online (Sandbox Code Playgroud)