【发布时间】:2017-01-13 00:00:30
【问题描述】:
在 SQL Server 中,我有来自两个表的两个查询。
第一个表“Values1”有两列:“index1”和“value1”。第二个表“Values2”包含“index2”和“value2”列。
我想要一个查询,对于一对索引值 'd1' 和 'd2' 可以输出所有 'index1' 和 'value1' 行以及在 'd1' 和 'd2' 之间的对应 index1,以及“Values2”表中的“index2”值在“d1”和作为第一个查询的结果给出的“value1”之间的行数,我希望第二个查询循环第一个查询的结果。所以如果第一个表是:
index1:value1
10:'A'
20:'B'
30:'C'
40:'D'
50:'E'
第二张表是:
index2:value2
0:'F'
5:'G'
15:'H'
25:'I'
35:'J'
对 d1=18 和 d2=32 的查询将导致:
20,B,3
30,C,4
如何结合这两个查询来产生这种结果?
【问题讨论】:
-
所以您想计算
Values2中index2介于18和'B'之间的行数?这有什么意义? -
为什么这需要是一个单一的查询?感觉就像您有一个查询可以返回任意数量的行,而另一个查询只返回两个,并且它们彼此没有关系。考虑一下如果第一个表中有
25:'Q'会发生什么,然后会发生什么?
标签: sql sql-server