Python 如何将表1中的一列与表2中的另一列进行比较?
我对SQLITE3和python都是新手。我是SQLite的完全初学者。我不太明白。我现在正在为我的项目学习,我正在做一个项目,我有一个数据库,里面有大约20个表。一个表用于用户输入,其他表预先加载了值。如何将预加载表中的哪些值与用户表进行比较和匹配??例如:Python 如何将表1中的一列与表2中的另一列进行比较?,python,sqlite,Python,Sqlite,我对SQLITE3和python都是新手。我是SQLite的完全初学者。我不太明白。我现在正在为我的项目学习,我正在做一个项目,我有一个数据库,里面有大约20个表。一个表用于用户输入,其他表预先加载了值。如何将预加载表中的哪些值与用户表进行比较和匹配??例如: Users Table: Barcode: Item: 1234 milk 4321 cheese 5678 butter 8765 water 987
Users Table:
Barcode: Item:
1234 milk
4321 cheese
5678 butter
8765 water
9876 sugar
Pre-Loaded Table:
Barcode: Availability:
1234 1
5678 1
9876 1
1111 1
现在,我希望能够将预加载表中的每一行与用户表中的每一行进行比较。它们都有相同的条形码列,以便能够进行比较。因此,在查询过程中,它应该检查每一行:
1234-milk-1(这些列相等)
5678-黄油-1(这些列相等)
9876-糖-1(这些列相等)
1100--1(用户表中不存在此条形码)
因此,在本例中,当用户表中不存在1100条形码时,应打印代码:您没有预加载表的所有项目。我怎样才能得到这个的代码
到目前为止,我有这样一点:顺便说一下,这段代码确实有效
import sqlite3 as sq
connect = sq.connect('Food_Data.db')
con = connect.cursor()
sql = ("SELECT Users_Food.Barcode, Users_Food.Item, Recipe1.Ham_Swiss_Omelet FROM Users_Food INNER JOIN Recipe1 ON Users_Food.Barcode = Recipe1.Barcode WHERE Recipe1.Ham_Swiss_Omelet = '1'")
con.execute(sql)
data = con.fetchall()
print("You can make: Ham Swiss Omelet")
formatted_row = '{:<10} {:<9} {:>9} '
print(formatted_row.format("Barcode", "Ingredients", "Availability"))
for row in data:
print(formatted_row.format(*row))
#print (row[:])
#connect.commit()
SQLite代码:
sql = ("SELECT Users_Food.Barcode, Users_Food.Item, Recipe1.Ham_Swiss_Omelet FROM Users_Food INNER JOIN Recipe1 ON Users_Food.Barcode = Recipe1.Barcode WHERE Recipe1.Ham_Swiss_Omelet = '1'")
它将两个表格与通用条形码以及相应的食品名称和可用性结合起来。但是,如果其中一个条形码值不存在于预加载的表中,当我比较时,如何进行编码以知道它不存在,同时仍显示这两个表之间的共同点?这就像检查表是否相同 请参见,特别是如何创建。您没有提出任何问题,没有说明代码是否有效,也没有解释您不理解的内容。如果它不起作用,你怎么知道?编辑问题,这些评论是为了帮助你写一个更好的问题,而不是聊天。非常感谢你为我澄清这一点。我现在就去。谢谢你的链接。我会马上编辑。此外,请将表格作为文本而不是图像发布(格式为固定宽度布局的代码)。我们感谢您为改进您的问题所做的努力,我相信您很快会得到帮助:)因此,您希望在配方中列出配料,并为每种配料添加一个标志,以指示其是否也在用户列表中?尝试在sqlite命令行中使用SQL。例如,查看
select*from Recipe1 r left join Users\u Food u on r.Barcode=u.Barcode
请参阅,特别是如何创建一个。您没有提出任何问题,没有说明代码是否有效,也没有解释您不理解的内容。如果它不起作用,你怎么知道?编辑问题,这些评论是为了帮助你写一个更好的问题,而不是聊天。非常感谢你为我澄清这一点。我现在就去。谢谢你的链接。我会马上编辑。此外,请将表格作为文本而不是图像发布(格式为固定宽度布局的代码)。我们感谢您为改进您的问题所做的努力,我相信您很快会得到帮助:)因此,您希望在配方中列出配料,并为每种配料添加一个标志,以指示其是否也在用户列表中?尝试在sqlite命令行中使用SQL。例如,查看select*from Recipe1 r left join Users\u Food u on r.Barcode=u.Barcode
sql = ("SELECT Users_Food.Barcode, Users_Food.Item, Recipe1.Ham_Swiss_Omelet FROM Users_Food INNER JOIN Recipe1 ON Users_Food.Barcode = Recipe1.Barcode WHERE Recipe1.Ham_Swiss_Omelet = '1'")