I am successfully displaying calendar appointments for a specific Exchange account. I do this by using WebDav and passing a request string like the following:
" FROM Scope('SHALLOW TRAVERSAL OF \"https://www.mydomain.com/Exchange/Allen/Calendar\
"') WHERE NOT \"urn:schemas:calendar:ins
" = 1 AND \"DAV:contentclass\" = 'urn:content-classes:appoi
ntment' AND \"urn:schemas:calendar:dts
tart\" > '2011/10/04 00:00:00' AND \"urn:schemas:calendar:dte
nd\" < '2011/10/05 00:00:00' ORDER BY \"urn:schemas:calendar:dts
Note that the above string has a SELECT statement with a FROM clause, similar to most database queries. The FROM clause references the calendar for the Exchange account Allen ("https://www.mydomain.com/Exchange/Allen/Calendar\
"). This (among other lines of code not included here) successfully retrieves and displays Allen's appointments.
What I want to do is retrieve and display the appointments for 2 or more calendars at the same time. So my question is, how do I chain 2 or more requests in the above string?
From a standard database query standpoint, maybe a JOIN clause can be added in order to include another source (calendar). Maybe the above SELECT could have Allen's appointments (FROM "https://www.mydomain.com/Exchange/Allen/Calendar\
") and then include Bob's appointments with something like JOIN "https://www.mydomain.com/Exchange/Bob/Calendar\
". But JOINs genearlly imply that there is some relation between the 2 sources. But Allen and Bob's calendar data are completely independent appointments, and not related in any way.
What may be more appropriate is a UNION statement that would include the SELECTed data from Allen's calendar along with (UNION) the SELECTed data from Bob's calendar.
The bottom line is that I can't figure out how to modify the above string to request calendar data from multiple sources. Does anyone know how to make this work?