python中的SQLite INNER JOIN:sqlite3.operational错误:没有这样的列:

2024-03-28 16:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python中的SQLite有一个问题。由于错误,以下代码似乎无法工作

sqlite3.OperationalError: no such column: Company

我试图从这两个表中收集数据,并使用tablate将它们显示给用户,但无法继续,也无法找出如何解决此问题。解决方案可能很简单,但由于我有限的编程知识,我不确定如何继续。在

代码如下:

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 = The name of the database file

Clients = A table where client information is held

Company = A table where company information is held

CompanyID = A specified Company ID number present in both tables

我看过这个网站上的各种例子,但我似乎不能解决这个问题。如有任何建议,将不胜感激。在


Tags: 代码dbdatainformationis错误tablewhere
1条回答
网友
1楼 · 发布于 2024-03-28 16:27:03

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

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()

相关问题 更多 >