首页 新闻 会员 周边 捐助

sql server 查询

0
悬赏园豆:20 [已解决问题] 解决于 2016-08-22 10:49

有两张表  表A 中的每一行 都是表B 中每一列的约束值  

也就是 表B中的y1列 的值 要在表A 的第一行 的Max 跟Min范围内才算符合条件(y2列 的范围要在表A 中的第二行 依次类推).

要求助的是查询出不符合条件的 结果

问题补充:

liyanzhao的主页 liyanzhao | 初学一级 | 园豆:42
提问于:2016-08-04 18:03
< >
分享
最佳答案
0

给你写好了

declare @a table
( id int ,
maxvalue int,
minvalue int
)
declare @b table
(
id int,
y1 int,
y2 int,
y3 int,
y4 int,
y5 int,
y6 int
)

select distinct b.*
from @b b
inner join @a a1
    on a1.id=1
inner join @a a2
    on a2.id=2
inner join @a a3
    on a3.id=3
.....
inner join @a a6 
    on a6.id=6


where b.y1 between a1.minvalue and a1.maxvalue 
    and b.y2 between a2.minvalue and a2.maxvalue 
    ......
    and b.y6 between a6.minvalue and a6.maxvalue

 

收获园豆:20
悦光阴 | 老鸟四级 |园豆:2251 | 2016-08-20 23:33
其他回答(2)
0

这个百度就可以了啊

小熊vs | 园豆:20 (初学一级) | 2016-08-05 09:32
0

sql自带最大值最小值的函数,先获取a表的边界值。然后放到B表查询,用或连接查询

雨落~无痕 | 园豆:478 (菜鸟二级) | 2016-08-05 13:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册