小编Rad*_*oda的帖子

PostgreSQL 多列 WHERE = ANY(ARRAY)

我有一个包含三列的表:“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)

谢谢。

sql postgresql

5
推荐指数
2
解决办法
2758
查看次数

标签 统计

postgresql ×1

sql ×1