懂的sql语句就可以快速查找出我们需要的数据,不然就要嵌套一层又一层,以前很少用连接语句来查询数据,经常要建立俩个rrs记录集,这样其实效率也不高【至少得多写好多句代码是吧。。】
上面两张图片两种sql查询搜索出的结果,第一张图片我只是连接两张表查询搜索记录,因此在b表有个名称的字段虽然在b表是不重复的,但是用id连接a表的master_id后,就有很多名称变成重复的了,于是就要思考怎么变成b表了,如果是照以前我又是两层嵌套了,先查b表,在嵌套a表的时候取出重复记录里里面的第一个记录,但是这样就要多写很多语句啦,不利于维护都。。
于是,看看我sql的写法吧,这个想了好久才做出来,因为是新手,所以对sql还不是很上手,这边给自己做个文章记录下来,方便以后查阅
strSQL = "select a.id aid,a.* ,b.id bid ,b.image1 ,b.rName ,b.* from [c_seller_site] a left join [c_seller_master] b on b.id = a.master_id"【图1】
strSQL = "select * from [c_seller_master] where id in (select master_id from [c_seller_site] group by master_id)" 【对应图2】
strSQL = "select * from [c_seller_master] where id in (select master_id from [c_seller_site] group by master_id)" 【对应图2】
首先c_seller_site就是a表,c_seller_master是b表,然后a表就是因为master_id会重复,于是我先建立子查询按照master_id排阻,这样我检索出来就是唯一的数据了,然后根据b表的id建立关联,检索得出结果
--这句话是修改表中某条记录的字段值
update c_seller_master set image1 = '/UploadPic/lawface/662/65ca7a7f0cd9e763.jpg'where id = (select id from c_seller_master where id = '651067760530') 顺道这边讲下update建立子查询的操作,值得提的是id关联子查询是用=,为什么不用in呢,因为我后面只检索出一条记录所以我就直接用=号了,当然你要用in也不排除,实践过了,确实成功,提示了(1行受影响了)
update c_seller_master set image1 = '/UploadPic/lawface/662/65ca7a7f0cd9e763.jpg'where id = (select id from c_seller_master where id = '651067760530') 顺道这边讲下update建立子查询的操作,值得提的是id关联子查询是用=,为什么不用in呢,因为我后面只检索出一条记录所以我就直接用=号了,当然你要用in也不排除,实践过了,确实成功,提示了(1行受影响了)
ps:谢谢观看,后续有什么其他的sql语句还会在贴上来,这边讲讲为什么我要贴这些sql,主要是看了很多的资料,都没有具体讲解对应asp使用sql要怎么去掉重复的,都说用distinct,但是实际我实践好几次都没效果啊。。。