学习笔记

来源:互联网 发布:播放器 p2p m3u 网络 编辑:程序博客网 时间:2024/06/06 03:38

1、今天在写sql语句的时候学会了使用在查询数据的时候使用isnull(数据字段,0)可以设置字段等于null值的时候设置字段的默认值

2、len(字段名)>0 可以获取到字段内容的长度。

3,删除重复记录:当记录里面出现一些重复记录的时候需要删除一些指定,这次的项目就需要将两个有些字段一样的表格里面记录最后整合到一起去除指定的相同的记录,经过多次测试还是没有能够用一条SQL语句解决,幸好经过长时间研究终于分两步解决了问题;

第一步:先删除条码和数量都一样的记录

delete from T_UPData where F_id in 
select  max(F_id) from T_UPData 
 group by F_barcode,F_num  having COUNT(F_Barcode)>1

第二步:删除条码一样但数量不一样,但是数量为0的

delete from T_UPData where F_id in
  select t2.F_id from T_updata t full outer join 
 (select F_barcode,COUNT(F_Barcode)as F_count from T_UPData group by F_Barcode having COUNT(F_Barcode)>1)t1
 on t1.F_Barcode=t.F_Barcode full outer join 
 (select F_Barcode,F_num,F_id from T_UPData)t2 
 on t2.F_Barcode=t.F_Barcode
 where t1.F_Barcode=t2.F_Barcode and t2.F_Num=t.F_Num and t.F_Num=0

备注:最后一句本来想用t.F_Num is null,但是执行的时候查询不出来,最后只能在数据到入到表里面后先将F_Num字段为空的更新为0就可以了。

或者可以先在表里面将数据字段设置为默认,应该就可以,但是可能会在数据导入的时候会插入一个null值。

原创粉丝点击