Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
AS Clause
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Divers
Thread ID:
00409807
Message ID:
00409883
Vues:
28
>>>Hi Jim,
>>>
>>>>>When i execute the folowing SQL query, i get the error colomn "WTG"not found.
>>>>>
>>>>>SELECT detail.avr_ari,;
>>>>> iif(Detail.avr_wtg=.t.,'J','N') as WTG;
>>>>>FROM general!detail;
>>>>>WHERE WTG='J'
>>>>>
>>>>>Is this an impossible kind of query, to include an expressionalias in the WHERE Clause ?
>>>>>
>>>>>Any idea's how to solve this ?
>>>>>
>>>>
>>>>Bjorn,
>>>>
>>>>The WHERE clause of SELECT si applied to the source tables, there is no fild named WTG in the source fields. You can change it to;
>>>>
>>>>WHERE Detail.avr_wtg = "J"
>>>>
>>>
>>>This will cause a data-type mismatch. If he's testing against the result of the iif(), he's got to use the HAVING clause.
>>
>>Naw, you don't need a HAVING or a comparison operator, simply
SELECT detail.avr_ari, "J" AS WTG;
>>FROM general!detail;
>>WHERE Detail.avr_wtg
will do the trick. Using Detail.avr_wtg = .T. slows things down.
>
> George,
>
> If you have index on avg_wtg (though it would be strange to have index on logical field), I assume, where avr_wtg=.t. should be faster than where avr_wtg
>
>Correct me, please, if I'm wrong.

No, it wouldn't be. This is because whenever you have a comparison operator, both sides of the expression must be evaluated.
George

Ubi caritas et amor, deus ibi est
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform