Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to GROUP BY ON 2 fields in SQL
Message
 
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2005
Divers
Thread ID:
01362746
Message ID:
01362749
Vues:
23
This message has been marked as a message which has helped to the initial question of the thread.
>>>Hi,
>>>
>>>I have the following SQL Select code when using VFP database and it works:
>>>
>>>
>>>select Mytable.myfld1 + Mytable.myfld2 as MyGroup from MyTable group by MyGroup
>>>
>>>
>>>When executing this SQL Select against SQL Server it fails. How do I change this SQL Select so that it would work for both VFP and SQL Server?
>>>
>>>Thank you in advance.
>>
>>
Select MyField1 + myField2 from myTable group by MyField1 + myField2
>>
>>works, I just tried.
>>
>>Another way
>>
>>select MyGrp from (select myFld1 + MyFld2 as myGrp from Signs ) Test group by MyGrp
>
>I tried another approach, selecting each field and then group on fld1 and fld2 as following:
>
>
>Select MyField1, myField2 from myTable group by 1,2
>
>
>But I get error that Group By expression must contain at least one column that is not an outer reference. My example above is simplified as I have 2 JOINS in the SQL Select. So I need to understand how to change the JOIN to make it work.
>
>Thank you for your suggestions.
>
>UPDATE: The solution was to use the field names in GROUP BY as:
>
>Select MyField1, myField2 from myTable group by MyField1, myField2
>

Yes, you can not use numbers as we use them in VFP. You need to specify field names.

Same goes for having expressions, e.g. in VFP
select count(*) as Dups, myField from myTable group by myField having Dups > 1
in SQL Server
select count(*) as Dups, myField from myTable group by myField having count (*)> 1
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform