Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL Select with 2 IN clauses
Message
From
16/09/2020 09:07:19
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01676141
Message ID:
01676146
Views:
46
>Hi,
>
>I am running into a problem where the error message is:
>
>Only one expression can be specified in the select list when the
>subquery is not introduced with EXISTS
>
>
>The SQL Select is as follows:
>
>select Table1.Field1 from Table1 where Tabel1.Field1 in (select Table2.Field1, Table2.Field2 from Table2 where 
>Table2.Field2 in (select Table3.Field2 from Table3))
>
>
>That is, in the above SQL Select there are two IN clauses.
>
>Does the error mean that I have to change the second IN with EXISTS? Or both IN have to be change to EXISTS?
>
>TIA


In your example EXISTS() should perform much faster than IN(). So if the tables are large you might consider:
select Table1.Field1 from Table1 
    where EXISTS(select null from table2 join table3 on table2.field2 = table3.field2 and table2.field1 = table1.field1)
Exists will stop looking once it found a match, and the inner join of table2 and table3 automatically filters records that exist in both tables.
Christian Isberner
Software Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform