You can use only one source table in a load statement (disregarding wildcard loads from files). You will first have to create a new table containing all the fields you need by joining the source tables.
LOAD A, B FROM source_a;
LOAD A, C FROM source_b;
LOAD A, if(B=C,1,0) as D RESIDENT T1;
What I posted is just an example to explain the join concept. I hope you didn't copy/paste that literally.
If you have problem loading data from ODBC source, have a look at this video: Loading MS Access and other ODBC Data (video)
The example you posted I used as a suggestion how to do it, I assumed T1 ment Table1, source a as the place i took my first set of data from etc etc.
Sadly I can't try anymore since I had to leave the office, I will look at the video and try and solve the issue over the weekend, thank you very much for your help
I think the "unnecessarily precise" is the key here. Try
if (floor(DATE1) = floor(DATE3), 1, 0) ...
Edit: You were comparing timestamps before converting to the whole dates, and the timestamps are almost never equal. Next, the correct way of removing time part is to use floor() function. Date() function affetcs presentation not the actual values. The right way is
date(floor(timestampfield)) as datefield