我尝试从基于以下内容的表中检索一些不同的competence_id
行:
select distinct competences.competence_id, skillmgt.*
from competences
join skillmgt
on competences.competence_id=skillmgt.cid
Where skillmgt.eid=121 and datename(yyyy,skillmgt.timestamp)='2013'
但它会获得所有competence_id
个重复项。
答案 0 :(得分:0)
你需要分组。
select competences.competence_id, skillmgt.*
from competences
join skillmgt
on competences.competence_id=skillmgt.cid
group by competences.competence_id
答案 1 :(得分:0)
我想这会有用(我猜你的一些列名):
select competences.competence_id, skillmgt.*
from competences c
join skillmgt s
on c.competence_id=s.cid
where s.sid = (select max(sqs.sid) from skillmgt sqs where c.competence_id=sqs.cid)
您没有说出您正在使用的SQL版本。如果我使用SQL Server 2005及更高版本执行此操作,那么我将使用稍微更优雅的ROW_NUMBER函数。