Your query is using an implicit
INNER JOIN
, which is why you're not getting the records from
A
which don't have matching records in
B
and
C
.
Change your query back to using
LEFT JOIN
s:
SELECT
A.SomeFields,
B.SomeDate,
C.Name
FROM
aaa.csv AS A
INNER JOIN bbb.csv AS B
ON A.SomeDate BETWEEN B.Date1 And B.Date2
LEFT JOIN ccc.csv AS C
ON A.ID = C.ID
;