SQL:当B列等于某个值并且A列在某个范围内时如何选择行

问题描述 投票:0回答:1

例如,这是我有的一张桌子。 如果B=1,那么A应该在0到10之间,所以选择customer1,不选择customer4。

如果B=2,那么A应该在11到20之间,所以选择customer3,不选择customer6。

如果B=3,那么A应该在21到30之间,所以选择customer2,不选择customer5。

最终结果是客户1,2,3被选中。 enter image description here

我尝试编写3个子查询并将它们连接在一起,但没有得到我想要的结果。 我最终得到了满足三个条件的客户,实际上我需要得到满足三个条件中任何一个的客户。

sql
1个回答
0
投票

我认为你可以用一些简单的算术来做到这一点:

SELECT * FROM myTable where a between (b*10)-9 AND (b*10);

例如,当

b
为 2 时,如果
a
介于 11 和 20 之间(含 11 和 20),则将选择该行。

© www.soinside.com 2019 - 2024. All rights reserved.