I have below code: SELECT [customer-grp].name as [group] ,[city-customer].name as city, customer.pk, customer.name as customer , customer.[address] ,[tel-customer].tel, COUNT([tel-customer].tel) as telNo FROM dbo.[customer] JOIN dbo.[city-customer] ON customer.[city-FK] = [city-customer].pk JOIN dbo.[customer-grp] ON customer.[customerGrp-FK]= [customer-grp].pk JOIN dbo.[tel-customer] ON customer.pk = [tel-customer].[customer-FK] GROUP BY [customer-grp].name, [city-customer].name, customer.pk ,customer.name, customer.[address],[tel-customer].tel
but unfortunately I should write all of the fields in select on GROUP BY. :(Is there any better query to replace?!