我有一个包含三列的表:“id”、“letter”和“number”。我有一个“字母”和“数字”对的列表,我需要在单个查询中获取“id”。显然,简单的解决方案是使用 n 个查询,其中 n 是列表的大小。
SELECT id FROM table WHERE number=... AND letter=...
Run Code Online (Sandbox Code Playgroud)
但这需要 n 个查询,在我的例子中是数百万个,并且开销很大。以前,我只有“数字”列表上的过滤器,所以我使用
SELECT id FROM table WHERE number = ANY(ARRAY[...])
Run Code Online (Sandbox Code Playgroud)
是否有一些语法可以满足我的需要,例如
SELECT id FROM table WHERE PAIR[letter,number] = ANY(ARRAY[PAIR[...],...])
Run Code Online (Sandbox Code Playgroud)
谢谢。