Sql server 如何在引用表中使用BETWEEN
我只是想知道如何创建一个查询,以这种方式它将检查列是否位于引用表中的中间 比如Sql server 如何在引用表中使用BETWEEN,sql-server,Sql Server,我只是想知道如何创建一个查询,以这种方式它将检查列是否位于引用表中的中间 比如 SELECT * FROM Table1 WHERE Column1 BETWEEN ( SELECT Column1 , Column2 FROM TABLE2 ) 我只是不知道如何以正确的方式实现它 谢谢。试试这个 SELECT * FROM Table1 as t1 INNER JOIN Table2 t2 ON t1.Column1 BETWEEN t2.Column1 AND t2.Column2 如
SELECT *
FROM Table1 WHERE Column1 BETWEEN ( SELECT Column1 , Column2 FROM TABLE2 )
我只是不知道如何以正确的方式实现它
谢谢。试试这个
SELECT *
FROM Table1 as t1
INNER JOIN Table2 t2 ON t1.Column1 BETWEEN t2.Column1 AND t2.Column2
如果您可以在
表2
中有重叠的范围,并且您想要的是表1
中任何范围内的记录(唯一)表2
,则此查询将执行此操作
SELECT *
FROM Table1
WHERE EXISTS (
SELECT *
FROM Table2
Where Table1.Column1 BETWEEN Table2.Column1 and Table2.Column2)
如果表2中的范围没有重叠,您也可以使用联接来解决这个问题,否则您需要使用DISTINCT
或ROW\u NUMBER()
将它们缩减为唯一的表1
记录。这是有效的
SELECT * FROM table1 as t1,table2 as t2
WHERE t1.Column1 BETWEEN t2.Column1 AND t2.Column2.
我没有得到重叠范围的部分,但我认为这必须是最安全的。谢谢