是否可以将查询保存为其他查询(sqlite和python)使用的变量?
我在python应用程序中使用sqlite3,并且有多个查询。但是,有些查询往往会重复(例如“汇总库存中X项的总数量”)。有没有办法保存这样的查询并在其他查询中使用 例如,我们将把它命名为是否可以将查询保存为其他查询(sqlite和python)使用的变量?,python,sqlite,Python,Sqlite,我在python应用程序中使用sqlite3,并且有多个查询。但是,有些查询往往会重复(例如“汇总库存中X项的总数量”)。有没有办法保存这样的查询并在其他查询中使用 例如,我们将把它命名为QuantityInInventory(x) 使用QuantityInInventory(x) 有办法吗?我知道这两个查询可以合并成一个嵌套查询(或HAVE查询),但这不是重点 编辑: 使用此查询的方法如下所示(在sqlite3.Connection继承的类中,请注意,我没有清理输入,也没有检查查询是否实际返回
QuantityInInventory(x)
使用QuantityInInventory(x)
有办法吗?我知道这两个查询可以合并成一个嵌套查询(或HAVE查询),但这不是重点
编辑:
使用此查询的方法如下所示(在sqlite3.Connection继承的类中,请注意,我没有清理输入,也没有检查查询是否实际返回非None值,这只是一个示例):
是否要保存查询结果?或者查询本身的字符串,以便可以将其放入其他查询中?我想保存查询本身,以便可以在其他查询中使用它-因此结果和字符串都不存在。我不想创建一个函数/方法,通过python代码请求
QuantityInInventory
获取特定ID。我想通过其他查询使用Inventory中的QuantityInInventory
。当然,如果我要为它创建一个func/方法,它应该是一个经过编辑的操作。最接近您所要求的是一个视图。
SELECT SUM(have)
FROM inventory
WHERE ID = x
GROUP BY ID
SELECT ID
FROM items
WHERE QuantityInInventory(ID) > 5
def getQuantityInInventoryFromID(self, ID):
return self.execute("QuantityInInventory(?)", (ID,)).fetchone()[0]
def getItemsWithInventoryHigherThan(self, itemId, quantity):
query = """
SELECT ID
FROM items
WHERE QuantityInInventory({0}) > {1}""".format(itemId, quantity)
return self.execute(query).fetchall()