我只是想知道如何创建一个查询,以这种方式检查列是否介于参考表之间。
,例如
SELECT *
FROM Table1 WHERE Column1 BETWEEN ( SELECT Column1 , Column2 FROM TABLE2 )
我只是不知道如何以正确的方式实现它。
谢谢。
答案 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解决此问题,否则您需要使用DISTINCT
或ROW_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.