Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to define such view?
Message
From
01/03/2005 12:18:52
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
00991616
Message ID:
00991654
Views:
19
This message has been marked as the solution to the initial question of the thread.
>>>Hi everybody,
>>>
>>>I have a problem to which I don't see an immediate solution, so I am hoping that great minds from UT can help me with it.
>>>
>>>I have a view
>>>CREATE SQL VIEW LV_SAVED_SEARCHES AS ;
>>>SELECT Saved_searches.* ;
>>>	FROM mmviscollect!saved_searches ;
>>>	WHERE Saved_searches.cusgrlink_fk = ( ?vp_cusgrlink_fk ) ;
>>>		OR Saved_searches.cusgrlink_fk = ( ?vp_vcam_fk ) ;
>>>	ORDER BY Saved_searches.isequence_number
>>>
>>>Now, in its current way it will always return all records, because we defined all of them for VCAM user. I want it to return "my" records if it finds that cUsgrLink_fk matches my cUsgrLink_fk. However, if I don't have records for my ID, I want it to return all records. Could you please help me a little bit?
>>>
>>>Thanks in advance.

Nadya,

OK, not tested, but this might work:
CREATE SQL VIEW LV_SAVED_SEARCHES AS ;
SELECT Saved_Searches.* ;
  FROM mmviscollect!saved_searches ;
 WHERE Saved_searches.cusgrlink_fk = ( ?vp_vcam_fk ) ;
   AND NOT EXISTS(SELECT * FROM mmviscollect!saved_searches ;
                   WHERE Saved_searches.cusgrlink_fk = ( ?vp_cusgrlink_fk )) ;
 UNION ;
SELECT Saved_Searches.* ;
  FROM mmviscollect!saved_searches ;
 WHERE Saved_searches.cusgrlink_fk = ( ?vp_cusgrlink_fk )
BTW, if you're comparing both parameters against the same foreign key, how can one return all the records and the other not be identical to return any records?

Regards,


HTH,
Jim
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform