客户原始数据
应客户要求需要用按日期和凭证号分别进行排序;
通过百度 找出了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
发表评论