我有以下查询
select t1.work_date, t1.proposal_job_ref, t1.timesheet_time, t2.proposal_title
from dbo.timesheet_entries t1
inner join dbo.proposal t2
on t1.proposal_job_ref = t2.proposal_ref_code
inner join dbo.consultant t3
on t3.consultant_id = t1.consultant_id
where t1.consultant_id = 2
and t1.work_date between '01/09/2013' and '30/09/2013'
order by t1.work_date
我想删除此查询中与 proposal_job_ref
字段具有相同值的记录我尝试在选择之后添加不同但是这并不起作用,因为我认为它会根据work_ 日期删除重复的条目
有人可以帮我解决这个问题吗?
感谢。
更新
work date proposal_ref_code timesheet_time proposal_title
01/09/2013 p11111 8 Web App Development
02/09/2013 p22222 4 Mobile Development
03/09/2013 p11111 6 Web App Development
04/09/2013 p33333 8 Database Design
使用上表,一旦执行了我的查询,我希望删除第3行,因为它与第一行具有相同的 proposal_ref_code ,即p11111。
我正在使用SQL Server 2008
答案 0 :(得分:1)
请尝试一下,我希望它对你有用
WITH CTE AS
(
SELECT *,RN=ROW_NUMBER() OVER (PARTITION BY work_date ORDER BY work_date DESC) FROM tablename
)
delete from CTE where RN>1