去除重复记录的方法SQL语句实现
我有一个表TB,例如有4个字段,A1,A2,A3,A4具体内容如下
A1 A2 A3 A4
11 001 123 F
11 002 123 F
11 001 123 T
22 004 456 F
建立了一个查询语句“select * from TB where A1='11'”会出现三条
A1 A2 A3 A4
11 001 123 F
11 002 123 F
11 001 123 T
现在有问题,我要去掉A2,A3同时相同的内容(
也就是说,用一条SQL语句后我得到两条记录分别是
A1 A2 A3 A4
11 001 123 F
11 002 123 F
请各位大虾赐教!A4内容不用管) --------------------编程问答-------------------- 帮顶帮顶。 --------------------编程问答-------------------- A4内容不管的话
select distince A1,A2,A3 from TB where A1='11' --------------------编程问答-------------------- 代码中来完成
1)建临时表TB_temp(A1,A23,A4)
2)insert into TB_temp
values(select A1,A2 & ';' &A3,A4 FROM TB)
3)SELECT DISTINCT A1,A23,A4 FROM TB_temp
4)用split函数将A23拆分为A2,A3
5)你自己的处理逻辑
6)drop table TB_temp --------------------编程问答--------------------
select * from [Table] a where a4='11' and not exists(select 1 from [Table] where a1=a.a1 and a2=a.a2 and a3=a.a3 and a4<a.a4 and a4='11')--------------------编程问答-------------------- 如果你只有这么四个字段又不用理第四个字段内容的话
select a1,a2,a3,max(a4) from tb
group by a1,a2,a3 --------------------编程问答--------------------
xrongzhen(冰河),你的方法可以去掉相同项目,可是有个问题,按你这样的方法,我查出来的记录只有这个3个字段有值,A4的值就没有了?能将你的方法延伸一下吗?
--------------------编程问答--------------------
wing013 (小风) 还有其他字段的,我只是用这个举例,其他字段值,我还要用到的,谢谢 --------------------编程问答--------------------
select distinct TB1.A1,TB1.A2,TB1.A3,TB2.A4--------------------编程问答-------------------- 先感谢各位,怪我没说清楚,我这个表里面不只4个字段,其他字段值,我还有用。 --------------------编程问答-------------------- 这种情况用Distinct
from TB as TB1
left join TB as TB2 on TB1.A1=TB2.A1
where TB1.A1='11'
select distinct 字段 form table --------------------编程问答-------------------- A4内容不用管么?
A1 A2 A3 A4
11 001 123 F
11 002 123 F
11 001 123 T
上面这个集合中,要第一个还是第三个如何确定?
补充:VB , 基础类