Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Update more limited than select?
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01291690
Message ID:
01292683
Views:
33
>>>>>This works
>>>>>
>>>>>SELECT * FROM mytable where;
>>>>> f1 in (SELECT f1 from look_up group by f1 having count(*) = 1) AND ;
>>>>> f2 in (select f2 from look_up group by f2 having count(*) = 1)
>>>>>
>>>>>
>>>>>and this fails
>>>>>
>>>>>update mytable set flag = "1" where;
>>>>> f1 in (SELECT f1 from look_up group by f1 having count(*) = 1) AND ;
>>>>> f2 in (select f2 from look_up group by f2 having count(*) = 1)
>>>>>
>>>>
>>>>And you are very sure that the SELECT returns correct record but UPDATE didn't update all of them?
>>>>What happens with this:
>>>>
>>>>update mytable set flag = "1";
>>>>FROM mytable;
>>>> where f1 in (SELECT f1 from look_up group by f1 having count(*) = 1) AND ;
>>>>       f2 in (select f2 from look_up group by f2 having count(*) = 1)
>>>>
>>>
>>>the select works fine, the update give the error "sql statement too complex"
>>
>>What version of VFP?
>>How about (Just in case you use VFP9):
>>
>>update mytable set flag = "1";
>>       FROM mytable;
>>INNER JOIN (SELECT f1 from look_up group by f1 having count(*) = 1) Tbl1 ON MyTable.F1 = Tbl1.F1
>>INNER JOIN (SELECT f2 from look_up group by f2 having count(*) = 1) Tbl2 ON MyTable.F2 = Tbl1.F2
>>
>
>That works, but I was never asking for an alternate solution to the update, I managed to get around it fine, I was asking if anyone knows why the update which appears to be the same query as the select was giving me the too complex error when the select works ok.


Not sure.
I was just curious if that will works.
I never used WHERE xxx IN (SELECT ....) in my queries. I prefer to use JOINS and derived tables.
They are fatser (In my opinion, never made proper tests though).
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform