Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Select with 2 IN clauses
Message
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
01676141
Message ID:
01676146
Vues:
45
>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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform