我有两个显示以下数据的表
表1
Number Time CID
001 24 1
002 12 1
003 25 2
004 7 2
范围表2
Time1 Time2 CID PhoneNumber
7 12 1 333
24 99 null 300
7 24 null 301
7 12 2 345
必填结果
Number Time PhoneNumber
001 24 300
001 24 301
002 12 333
002 12 301
003 25 300
004 7 345
004 7 301
范围表中的CID“NULL”表示检查时间范围,并且包括所有CID。其中CID值与表1中的CID相比可用。
答案 0 :(得分:0)
答案 1 :(得分:0)
SELECT
tb1.Number
,tb1.[Time]
,tb2.PhoneNumber
FROM table1 tb1
INNER JOIN table2 tb2 ON tb1.CID = ISNULL(tb2.CID, tb1.CID)
AND tb1.[Time] BETWEEN tb2.[Time1] AND tb2.[Time2]
ORDER BY tb1.Number
我希望它对你有用。