| ID|姓名|可搜索|
| - -----|- -----|- -----|
| 1|福|真的|
| 2|酒吧|真的|
| 3|扎尔|错误|
我有一些ids
,我需要过滤记录中有isSearchable = true
的记录。
这个查询给予的结果是ID = 1
,因为它是可搜索的,但是我会对整个结果应用isSearchable
过滤器,而不是逐行。
SELECT *
FROM my_table
WHERE id IN (1, 3)
AND isSearchable = true
因此,在本例中,我期望no-results,因为两条记录都应该在第一个isSearchable
中,然后过滤id。
我试过使用子查询等,但in
运算符(或or
运算符),但我无法完成结果。
也许是很简单的事情,但我不知道如何解决。谢谢你的帮助
3条答案
按热度按时间li9yvcax1#
使用窗口函数的一种方法:
查看演示here。
m3eecexj2#
如果您按照制定任务的方式编写查询,则它将以某种方式如下所示
1 and 3
,如果它们都不是可搜索的 * -现在返回行; for 1 and 2返回两行。vhipe2zx3#
这个怎么样?
想想通用编程语言:
过滤顺序可以完全改变结果。如果显式地编写查询,使执行计划不被解释,那就很好了。