Предположим, у меня есть запрос, который возвращает суммарные ежемесячные продажи отдельных продуктов в моей базе данных:
product = input("Enter product column to search")
milkOptions = input("Enter milkOptions column to search")
size = input("Enter size to search")
import sqlite3
conn=sqlite3.connect("system.db")
cur=conn.cursor()
sql ="""
select sum(quantity*price), strftime("%m-%Y", orderDate)
as month
from customerOrders
WHERE product = ? and milkOptions = ? and size = ?
group by orderDate"""
Есть ли способ запросить различные уровни специфичности, не создавая много похожих запросов. Например, если я введу Espresso для продукта, оставлю запись milkoptions и введу small for size, могу ли я вернуть все продажи Small Espresso. И наоборот, для пропуска и ввода других опций.
Вот моя база данных:
+---------+-----------+--------+-------------+------------+----------+-------+------------+
| orderid | product | size | milkOptions | orderDate | quantity | price | customerid |
+---------+-----------+--------+-------------+------------+----------+-------+------------+
| 1 | Espresso | Small | Soya | 2019-10-29 | 1 | 1.0 | 1 |
| 2 | Cappucino | Small | SemiSkimmed | 2019-10-29 | 1 | 1.0 | 1 |
| 3 | Cappucino | Small | SemiSkimmed | 2019-10-29 | 1 | 1.0 | 1 |
| 4 | Cappucino | Medium | SemiSkimmed | 2019-10-29 | 1 | 1.0 | 1 |
+---------+-----------+--------+-------------+------------+----------+-------+------------+