sql server - Limit records in query -
this query
select [mo].[id] [objectid], [ca].[id] [categoryid], [gr].[id] [groupid] [myobject] az [mo] inner join [category] [ca] on [ca].[id] = [mo].[categoryid] inner join [group] [gr] on [gr].[categoryid] = [ca].[id] the result is:
objectid categoryid groupid ----------------------------------- 1 1 1 1 2 2 2 1 1 2 2 2 but need distinct on objectid mean categoryid , groupid not important me need following:
objectid categoryid groupid ----------------------------------- 1 1 1 2 1 1 or
objectid categoryid groupid ----------------------------------- 1 2 2 2 1 1 both of above result fine me , both of them see real record (as see in first query)
so, how can result? fastest way this? suggestion?
use group by , use aggregate function on other columns:
select [mo].[id] [objectid], min([ca].[id]) [categoryid], min([gr].[id]) [groupid] [myobject] az [mo] inner join [category] [ca] on [ca].[id] = [mo].[categoryid] inner join [group] [gr] on [gr].[categoryid] = [ca].[id] group [mo].[id]
Comments
Post a Comment