I am using the following query:

SELECT a.Field1, a.Field2,
b.prvd_id AS primary_prvd_id,
c.prvd_id AS secondary_prvd_id

FROM Table_1 a
LEFT OUTER JOIN Table_2 c ON a.secondary_prvd_id = c.prvd_id
LEFT OUTER JOIN Table_2 b ON a.primary_prvd_id = b.prvd_id

WHERE a.key1 = @var1
AND a.key2 = @var2

In instance one I use adUseServer for cursor location, data is returned from Table_1 regardless of the existance of data in Table_2. In instance two, I use adUseClient as the cursor location, data is only returned if data exists for both the primary and secondary id's.

I need to use the Client-side cursor.

I have used both dynamic SQL and a stored procedure and receive the same results

Cursor Type = OpenStatic (I've tried each)
Lock Type = LockReadOnly


Does any have an idea why this might be occurring and how I might resolve it?

Version Info:
VB6 SP3, ADO 2.1 (MDAC 2.1.1) & SQL Server 7.0