Я пытаюсь сделать несколько функций поиска для пользователя, и хотел бы знать, как объединить их результаты.
Я попробовал «очевидный» способ сделать это, а именно использовать
cursor.execute("UNION")
между двумя методами.Но это не сработало и привело к следующей ошибке:
Traceback (most recent call last):
File "C:\T3AJM\T3_AJM_fn.py", line 188, in <module>
welcome_menu()
File "C:\T3AJM\T3_AJM_fn.py", line 119, in welcome_menu
file_server.master_search(answer[0])
File "C:\T3AJM\T3_AJM_fn.py", line 51, in master_search
cursor.execute("UNION")
sqlite3.OperationalError: near "UNION": syntax error
Я хочу иметь возможность сделать что-то вроде:
search_file_name(search)
cursor.execute("UNION")
search_by_extension(search)
И объединить два результата.
Методы будут выглядеть примерно так:
def search_file_name(self, searched_file_name):
"""
Searches
"""
cursor.execute("""SELECT * FROM files
WHERE file_name LIKE ?""", ('%' + searched_file_name + '%',))
и
def search_by_extension(self, extension):
cursor.execute("""SELECT * FROM files
WHERE extension LIKE ?""", ('%' + extension + '%',))
Я знаю, что технически я могу сделать это, используя флаг multi в команде execute, и вручную скопироватьстроки из обоих методов в один, но я хочу иметь возможность делать это для любого количества методов поиска, и не нужно делать это каждый раз.
Спасибо за ваше время.