Using SQL Server 2000
I want to compare the table2.date between table1.from, table1.todate, if exist then value should be 0 (zero)
Table1
ID From
This will show value
for the records present, 0
for the records missing:
SELECT t2.id, t2.date,
COALESCE(
(
SELECT TOP 1 t2.value
FROM table1 t1
WHERE t2.date BETWEEN t1.fromdate AND t1.todate
AND t2.id = t1.id
), 0) AS value
FROM table2 t2
This will work other way around: 0
for the records present, value
for the records missing:
SELECT t2.id, t2.date,
COALESCE(
(
SELECT TOP 1 0
FROM table1 t1
WHERE t2.date BETWEEN t1.fromdate AND t1.todate
AND t2.id = t1.id
), t2.value) AS value
FROM table2 t2
select t2.id, t2.date, coalesce(T.value, 0) value
from table2 t2
left join
(select t22.id, t22.date, t22.value
from table2 t22
where not exists (select null from table1 t1
where t22.date between t1.fromdate and t1.todate)
) T on t2.id = T.id and t2.date = T.date