Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to use Having with SQL Server database
Message
 
 
À
11/01/2013 07:55:27
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 9 SP1
Divers
Thread ID:
01562104
Message ID:
01562115
Vues:
39
>>>>Hi,
>>>>
>>>>The SQL Select I have that works with VFP does not work with SQL Server database. The SQL statement has HAVING clause. For example (simplified) the following does not work with SQL Server database:
>>>>
>>>>
>>>>select COUND(DISTINCT(WO_NUMBER)) AS TOT_NUM from MyTable WHERE <SomeCondition> HAVING TOT_NUM > 5
>>>>
>>>>
>>>>The error is Invalid Column name TOT_NUM. How would I change the above SQL Select make the HAVING working?
>>>>TIA.
>>>
>>>
>>>select COUNT(DISTINCT WO_NUMBER) AS TOT_NUM
>>>       from MyTable
>>>WHERE <SomeCondition>
>>>HAVING COUNT(DISTINCT WO_NUMBER) > 5
>>>
>>
>>What I didn't write in my initial message and that probably makes a difference is that I have GROUP BY clause. And therefore, the TOT_NUM is a grouped value. So I am not sure if the above will apply.
>>Thank you.
>
>HAVING is meant to be used with Group by - that's why you use it. Otherwise it would be just part of the where expression. Just try it. Or, post your entire sql statement. But the answer to your question is that in T SQL you can't refer to the expression by its alias but need to recreate the entire expression of the Group by in the Having clause.

Yes, my SQL Select does have Group By and I use HAVING exactly for the purpose as you understood. I just thought that if I put the entire expression in SELECT and HAVING I am duplicating time of execution. Please see my reply to Borislav and Dragan.
Thank you
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform