如何在参考表中使用BETWEEN

时间:2012-10-09 06:01:40

标签: sql-server

我只是想知道如何创建一个查询,以这种方式检查列是否介于参考表之间。

,例如

SELECT *
FROM Table1 WHERE Column1 BETWEEN ( SELECT Column1 , Column2 FROM TABLE2 )

我只是不知道如何以正确的方式实现它。

谢谢。

3 个答案:

答案 0 :(得分:2)

如果您可以在Table2中拥有重叠范围,并且您想要的是Table1中任意范围内的(唯一)Table2条记录,那么此查询就会执行此操作。< / p>

SELECT *
FROM Table1
WHERE EXISTS (
    SELECT *
    FROM Table2
    Where Table1.Column1 BETWEEN Table2.Column1 and Table2.Column2)

如果表2中的范围不重叠,您也可以使用JOIN解决此问题,否则您需要使用DISTINCTROW_NUMBER()将其缩减为唯一Table1条记录

答案 1 :(得分:1)

试试这个......

SELECT *
FROM Table1 as t1 
INNER JOIN Table2 t2 ON t1.Column1 BETWEEN t2.Column1 AND t2.Column2

答案 2 :(得分:0)

这是有效的

SELECT * FROM table1 as t1,table2 as t2
    WHERE t1.Column1 BETWEEN t2.Column1 AND t2.Column2.