我对SQLITE3和python都很陌生。我完全是SQLite的初学者。我不太明白。我现在正在为我的项目学习,我正在做一个项目,我有一个数据库,里面有大约20个表。一个表供用户输入,另一个表预先加载了值。如何将预加载表中的值与用户表中的值进行比较和匹配??例如:
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
现在,我希望能够比较预加载表中的每一行与Users表中的每一行。它们都有共同的条形码列,以便进行比较。因此,在查询过程中,应该检查每一行:
^{pr2}$因此,当条形码(在本例中为1100)不存在于Users表中时,应该打印该代码:您没有预加载表的所有项。我怎样才能得到密码?在
到目前为止,我有这样的情况:顺便说一句,这段代码确实有效。在
^{3}$它打印:
You can make: Ham Swiss Omelet
Barcode Ingredients Availability
9130849874 butter 1
2870896881 eggs 1
5501066727 water 1
1765023029 salt 1
9118188735 pepper 1
4087256674 ham 1
3009527296 cheese 1
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'")
它将这两张表与条形码结合在一起,以及相应的食品名称和供应情况。但是,如果其中一个条形码值不在预加载的表中,当我比较时,我如何进行编码以确定它不存在,同时仍然显示这两个表之间的共同点?这就像检查表是否相同。在
也许你可以试试左连接和一个CASE语句。在
来自sqlite doc
您需要Recipe1表作为左边的表,因为您需要选择该表中的每一行。所有来自Users_Food的列将在额外的行中为空。示例查询添加了另一列“status”,可以在python中使用。稍作调整:
在python中,您可能不想
print("You can make: Ham Swiss Omelet")
,因为在获取所有返回的行之前,您不知道这是否正确。在在获得SQL返回所需的行之后,可以使用python来获得所需的输出。在
相关问题 更多 >
编程相关推荐