簡體   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