给定以下 Python 代码:
keys1 = [1, 2, 3, 4, 5]
keys2 = [6, 7, 8, 9, 10]
for k1, k2 in zip(keys1, keys2):
# do something with the pair of keys, k1 and k2
我将如何在 SQL 中实现这样的东西?
基本上,我有大约 15 行 SQL 代码。此 SQL 根据当前已硬编码到其中的两个键执行一些操作。那么现在我需要使用大约 10 对其他键来执行相同的 SQL。
简单但不优雅的解决方案只是复制/粘贴代码 10 次并对密钥进行硬编码,但我很好奇是否有一些迭代方式来执行此操作,就像上面在 Python 中演示的那样。
需要注意的重要一点是,在将其连接到数据库时,我无法在 Python 中实现逻辑。它必须是纯 SQL。
提前致谢。
编辑:为澄清起见,但这可以在 SQL 中实现,不必与我的 python 演示完全相同。我只使用了列表和 zip bc,这就是我在 Python 中知道的方式。我可以很容易地定义一个函数并调用它十次,每次传递一对键,完全避免 zip 和列表。
我的主要目标是减少我必须一遍又一遍地编写相同的 sql 的次数。
在 Python 中,我将迭代与数据结构或函数一起使用。在 SQL 中?我不知道。
对不起,这是为了工作。我无法发布 sql。但从概念上讲,我认为这并不重要。它也可能只是: from someTable select col1 where attr1 = key1 and attr2 = key2