У меня есть поисковый запрос, записанный как
импорт sqlite3
conn = sqlite3.connect ('locker_data.db')
c = conn.cursor ()
def search1(teacher):
test = 'SELECT Name FROM locker_data WHERE Name or Email LIKE "%{0}%"'.format(teacher)
data1 = c.execute(test)
return data1
def display1(data1):
Display1 = []
for Name in data1:
temp1 = str(Name[0])
Display1.append("Name: {0}".format(temp1))
return Display1
def locker_searcher(teacher):
data = display1(search1(teacher))
return data
Это позволяет мне искать строку, содержащую «Mr FishyPower (Mr Swag)» или «Mr FishyPower / Mr Swag» с поисковым вводом «FishyPower». Однако, когда я пытаюсь выполнить поиск с помощью ввода «Swag», я не могу найти ту же строку.
При поиске ниже он должен был дать мне те же результаты поиска.
База данных - это простая база данных 1x1 sqlite3, содержащая 'FishyPower / Mr Swag'
Ошибка поиска при 'Swag'
Редактировать: технически я решил эту проблему, ограничив поиск столбцов только «Именем», но я хотел, чтобы код осуществлял поиск по столбцам «Имя» и «Электронная почта» и выводил результаты до тех пор, пока поиск выполняется либо внутри, либо обе колонки.
Edit2: ВЫБЕРИТЕ Имя ИЗ locker_data ГДЕ Email LIKE "% {0}%" или Имя LIKE "% {0}%" было правильным путем.