How to Identify Overlap Number Ranges?

Viewed 124

I have two tables TABLE1(List of Records) & TABLE2(My Number Ranges to Check)

How to identify overlap ranges/row(s) in TABLE2?

OBJECTIVE

RECORDS TABLE
+-----------------+-------------------+
+ tbl1_NumberFrom + tbl1_NumberTo     +
+-----------------+-------------------+
+      0          +        10         +
+      15         +        20         +
+      50         +        100        +
+-----------------+-------------------+

MY RANGES TABLE
+-----------------+-------------------+
+ My_NumberFrom   + My_NumberTo       +
+-----------------+-------------------+
+      5          +        20         +
+      30         +        40         +
+      12         +        15         +
+-----------------+-------------------+

REQUIRED RESULT AS FOLLOW:
+-----------------+-------------------+--------------+
+ My_NumberFrom   + My_NumberTo       + IsOverlaping +
+-----------------+-------------------+--------------+
+      5          +        20         +      Yes     +
+      30         +        40         +      No      +
+      12         +        15         +      Yes     +
+-----------------+-------------------+--------------+

FURTHER MORE,

SQL for above Tables

IF OBJECT_ID('tempdb.dbo.#dbtable', 'U') IS NOT NULL  DROP TABLE #dbtable; 
SELECT * INTO #dbtable FROM 
    (SELECT 0 AS tbl1_NumberFrom, 10 AS tbl1_NumberTo
    UNION ALL 
    SELECT 15 AS tbl1_NumberFrom, 20 AS tbl1_NumberTo
    UNION ALL 
    SELECT 50 AS tbl1_NumberFrom, 100 AS tbl1_NumberTo) 
AS dbTable

IF OBJECT_ID('tempdb.dbo.#MyRanges', 'U') IS NOT NULL  DROP TABLE #MyRanges; 
SELECT * INTO #MyRanges FROM 
    (SELECT 5 AS MyTbl_NumberFrom, 20 AS MyTbl_NumberTo
    UNION ALL 
    SELECT 30 AS MyTbl_NumberFrom, 40 AS MyTbl_NumberTo 
    UNION ALL 
    SELECT 12 AS MyTbl_NumberFrom, 15 AS MyTbl_NumberTo)
AS MyList


SELECT * FROM #dbtable t
SELECT * FROM #MyRanges m

Kindly suggest,

Many Thanks !!

1 Answers
Related