怎样用sql有条件地去除access表中的重复记录(表已设主键)?(100分)

  • 主题发起人 主题发起人 l_q28
  • 开始时间 开始时间
多人接受答案了。
 
select 产品代码,产品价格 FROM TableName
WHERE 流水号 IN
(select max(流水号) from TableName
where 流水号 not in
(SELECT MAX(流水号) FROM TableName
GROUP BY 产品代码
having count(产品代码)>=2)
group by 产品代码)
 
To kingdeezj>>高手,以后请多指教
 
哪里哪里,以后多多交流。
上述语句结果是出来了,可是实际执行的时候效率可能会很受影响。
如:过多的用到子查询;
可以用EXIST代替IN等等。。。
 
Select distinct 产品代码,产品价格=(Select top 1 产品价格 From
Table Where 产品代码=A.产品代码 order by 流水号 desc) From Table A
既然只能一个记录那就加top 1了,本身就应该,我的疏忽,不好意思。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
851
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部