使用python删除sql代码并从JOIN中选择

使用python删除sql代码并从JOIN中选择,python,sql,python-3.x,sqlite,Python,Sql,Python 3.x,Sqlite,我已经删除了这篇文章,因为它包含了一些令人费解的信息。您的查询中有两个表的字段是“first name”。您的查询需要指定要引用的查询 将选择行替换为 选择jobs.first_name,job FROM family…如果不存在,您已经在使用CREATE TABLE,但是将所有四个创建/插入函数包装到数据库内容检查中可能会更容易: if not table_exists(conn, "family"): conn.execute("BEGIN") with conn:

我已经删除了这篇文章,因为它包含了一些令人费解的信息。

您的查询中有两个表的字段是“first name”。您的查询需要指定要引用的查询

将选择行替换为


选择jobs.first_name,job FROM family…

如果不存在,您已经在使用CREATE TABLE,但是将所有四个创建/插入函数包装到数据库内容检查中可能会更容易:

if not table_exists(conn, "family"):
    conn.execute("BEGIN")
    with conn:
        create_table1()
        create_table2()
        data_entry1()
        data_entry2()

read_from_db()
列名
first\u name
不明确,因为它出现在两个表中。 当您改为使用加入时,数据库将自动删除重复列:

c.execute("""SELECT first_name, job
             FROM family
             JOIN jobs USING (first_name)
             WHERE job = 'YES'""")

请将准确的错误包括在内好吗?回溯(最近一次调用):文件“/home/pi/Desktop/praciting\u sql.py”,第34行,在从\u db()文件读取的\u中“/home/pi/Desktop/praciting\u sql.py”,第24行,在从\u db c.execute读取的\u中(“选择第一个\u名称,从作业中加入作业。第一个\u名称=家庭,其中作业='YES'))sqlite3.0错误:不明确的列名:first_name欢迎使用SO!如图所示,准确的误差很重要;“模棱两可”与“未知”截然不同。在文章的正文中(而不是评论)总是提供准确的错误。