SQL 服务器:扩大范围以包括缺失的行

SQL Server : expand range to include missing rows

我有一个 table (A),其中 PK 是一个整数:

Entry No.    Date     Product
-------------------------------
10001        1/1/19   Jeans
10002        1/1/19   Shoes
10003        2/1/19   Jeans...

我有另一个 table (B),示例数据如下(所有值均为整数):

ID  Begin  End
-------------------
1   10001  10003
2   10004  10007
3   10008  10019...

我需要为 table A 中的每个 [Entry No.] 在 table B 中找到 [ID]。

我认为这需要旋转 table B 所以 [Begin] 和 [End] 在同一列然后 'expanding' 行所以每个 int 都有一行:

ID  Entry No.
-------------
1   10001
1   10002
1   10003
2   10004
2   10005
2   10006
2   10007
3   10008...

然后我可以在 [Table A] 上加入 Table A。[条目号] = [Table B].[Entry.No.]

我的反透视代码:

SELECT 
    ID, [Entry No.]
FROM
    (SELECT * FROM [Table B]) AS piv
UNPIVOT 
    ([Entry No.] FOR values IN (Begin, End)) AS unpvt

有更好的方法吗?如果没有,你能帮我看看如何 'expand' table B?

使用JOIN:

select a.*, b.*
from a join
     b
     on a.entry_no between b.begin_entry and b.end_entry