类别:SQL / 日期:2018-04-13 / 浏览:2691 / 评论:0

客户原始数据

应客户要求需要用按日期和凭证号分别进行排序;

通过百度 找出了ROW_NUMBER()over 语句 写出了以下语句:

select b.大序号,a.* from (select ROW_NUMBER()over(PARTITION by jzrq order by pzh)as 小序号,*  from pz) as a  left join (select jzrq,ROW_NUMBER()over(order by jzrq)as 大序号 from (select DISTINCT jzrq  from  pz) as a1) as b  on b.jzrq=a.jzrq

运行结果如下:

基本达到了客户的要求 

注意 这个语句智能用在SQL SERVER 2005上 客户的SQL 2000不支持, 于是让客户恢复了一套数据库到另一个计算机上 查询出结果

因临时使用的, 所以也没有去研究下去。



再补充一点

select a.pkey, a.[else], kuaidi.name as '快递公司',

jijian.name as '寄件公司',

shoujian.name as '收件公司'

from tb_Info A left join tb_Company kuaidi on a.kdid=kuaidi.id

left join tb_Company jijian on a.jjid=jijian.id

left join tb_Company shoujian on a.sjid=shoujian.id


微信图片_20180521145441.jpg


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

承接各种软件开发业务,数据库方面 二次开发。 QQ: 475847 mail: jinesc@163.com

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。