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