Я новичок в 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
Теперь я хочу иметь возможность сравнивать каждую строку в Предварительно загруженной таблице с каждой строкой в Таблице пользователей. Они оба имеют общий столбец штрих-кода, чтобы иметь возможность сравнивать. В результате во время процесса запроса он должен проверять каждую строку:
1234 - milk - 1 (those columns are equal )
5678 - butter - 1 ( those columns are equal)
9876 - sugar - 1 (those columns are equal)
1100 - - 1 ( this barcode does not exist in the Users Table)
поэтому, когда штрих-код, в данном случае 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()
Он печатает:
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'")
Он объединяет две таблицы с общим штрих-кодом и соответствующими названиями продуктов и их доступностью. Однако, если одно из значений штрих-кода отсутствует в таблице Pre-Loaded, когда я сравниваю, как я могу приступить к кодированию, чтобы узнать, что его там нет, и при этом отображать, что общего между этими двумя таблицами? Это все равно что проверять идентичность таблиц.