问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql怎么查一年里所有物品最后一次的采购价格?

发布网友 发布时间:2022-04-24 07:54

我来回答

3个回答

懂视网 时间:2022-04-11 03:26

创建临时表,插入测试数据 if Object_id(‘Tempdb..#temp1‘) is not null drop table #temp1 create table #temp1(ItemNumber varchar(10),PurchDate date,PurchPrice decimal(10,2)) insert into #temp1(ItemNumber,PurchDate,PurchPrice) select ‘Item01‘, ‘2016-1-8‘,3.33 union all select ‘Item01‘, ‘2016-5-8‘,2.22 union all select ‘Item01‘, ‘2016-3-8‘,1.11 union all select ‘Item02‘, ‘2016-3-9‘,4.44 union all select ‘Item02‘, ‘2016-5-9‘,5.55 union all select ‘Item02‘, ‘2016-1-9‘,6.66 union all select ‘Item03‘, ‘2016-1-7‘,9.99 union all select ‘Item03‘, ‘2016-3-7‘,8.88 union all select ‘Item03‘, ‘2016-3-7‘,7.77 --查询所有信息 select * from #temp1 order by ItemNumber asc,PurchDate desc,PurchPrice asc --使用row_number() over partition by 查询物料的最新采购价格,如果同一日期有多个价格取最小值 select * from ( select ItemNumber,PurchDate,PurchPrice, row_number() over(partition by ItemNumber order by ItemNumber asc,PurchDate desc,PurchPrice asc) row_num from #temp1) t1 where t1.row_num=1

 

 

使用SQL查询物料最新采购价格的示例

标签:存在   null   desc   class   记录   create   obj   nbsp   query   

热心网友 时间:2022-04-11 00:34

首先:各个数据库(oracle,sqlserver,mysql等)的sql语句并不完全一样,就算我写出语句也几乎不能用。
第二:你的需求并不是十分清晰,而且中间还可能存在各种情况,所以就算我完成了所谓的语句,估计也90%以上的可能不能用,要根据你的业务进行慢慢调整,所以我仅仅给出思路。
(1)你的需求不是很清晰,你说的一年里是2019年一年,还是从现在往前数一年,比如现在是2020年7月,那么就是从2019年7月到现在。
二者的取值方式不同。如果是2019年一年内,那么直接截取前四位就可以了(表内看你应该是存的数字,不是直接存的时间)。如果是到现在的一年内,那么就要用到时间截取函数了,如果是存在数字,那么就要看你是这么存的,如果都是20XX0000这种,那么用现在的时间比如20200701直接减去10000就可以了,然后就是大于小于的事情,但是如果是2020701,那么就要截取改数了,稍微麻烦一点,不过问题不大,这个要你自己去判断。

(2)根据需求第一步完成后,一年内的数据都出来的,你要的是最后一次采购,那么也就是说是时间的max,那么就以品名分组,求时间的max,再将二者连接起来,
比如“上盖20191230”我们假设这个20191230就是时间max的结果,那么在用这个结果去表中匹配:将品名字段与时间字段连接起来(oracle的where写法 :where 品名||时间 in(select 品名||max(时间) from table group by 品名)),只要一样,那么就显示出来,这样就能匹配出价格了。
不过还有一个可能,比如你的公司有多个采购,每个采购的购入价格不同,那么可能在同一时间存在多个价格,比如这里的“金属皮膜电阻SMD”有0.005,还有0.0044,那么你要用哪个(大的,小的,还是全要)这就要好好判断了。

热心网友 时间:2022-04-11 01:52

子查询,先分组求出每个组最大日期,然后子查询 条件是where 日期 in (那个子查询)
SQL查询:交易历史中所有客户所有商品最后一次交易价格

最后一次交易价格 找日期最大的,如下 select * from wc where date=(select max(date) from wc)

怎么有效的利用海关数据来开发客户?

易讯数据,为您提供全球200个国家1000万真实买家,通过交易图谱深度分析四维供应链贸易关系,利用邮件搜和精准邮箱得到有效的客户联系方式,帮您一站式解决查找客户、分析客户、联系客户直至成交客户。

SQL中如何查出各个客户最后一次进货日期及金额?谢谢!

select f. kehu, f.riqi , A.jine from ( select kehu, max(riqi) riqi from A group by kehu ) f, A where f.kehu = A.kehu and f.riqi = A.riqi

sql怎么查一年里所有物品最后一次的采购价格?

(2)根据需求第一步完成后,一年内的数据都出来的,你要的是最后一次采购,那么也就是说是时间的max,那么就以品名分组,求时间的max,再将二者连接起来,比如“上盖20191230”我们假设这个20191230就是时间max的结果,那么在用这个结果去表中匹配:将品名字段与时间字段连接起来(oracle的where写法 :wh...

怎样显示下表中:各种物品的最后一次的记录,写出SQL语句

select * from aa where sn not in (select a.sn from aa a, aa b where a.pm=b.pm and a.rq

如何取出按每个物料编码最后采购的价格

select top 1 [price] from T where number='参数值' order by [date] desc

SQL 查询每个人离指定时间最后一次消费的记录

(如果是ID,NAME换成ID即可),@ENDTIME为统计截止日期。则每个人(NAME)在@ENDTIME之前最后消费记录为:select * from TABLE,(SELECT NAME as name1,MAX(TIME) as TIME1 FROM TABLE where Time<=@ENDTIME GROUP BY name) a where name=name1 and time=time1 ...

用SQL语句查询出:按每天,每个料号,每个仓库.最后一次.入库数量(即最后...

select * from #tempInventory where (日期+料号+仓库) in (select max(日期)+料号+仓库 from #tempInventory group by 料号,仓库,CONVERT(VARCHAR(100),LEFT(日期,10),23) )

sql查询一年各个月最后一次记录

select table_name.from table_name where table_name.t_date in (select max(t.t_date)from table_name t where to_char(t.t_date, 'yyyy') = '2009'group by to_date(t.t_date, 'yyyy-mm'))这是ORACLE的,未经过测试。楼上写的是每个月最后一天的记录,不是每个月最后一条记录。

SQL查询:如表:消费记录有很多,如何得到每个人的最后一次的消费记录,

select top 1 * from T_ClientConsuemLog order by F_ClientConsumeMon desc ,F_ClientConsumeDate desc;

sql如何查每个用户最后一次使用记录

select 工单id,用户id from 工单表 a where 建单时间=(select max(b.建单时间) from 工单表 b where b.用户id=a.用户id)

mysql查询上一年下一年sql 最后一次分田是哪一年 最后一次越战是哪一年 农村最后一次分田是哪一年 最后一次土地调整是哪一年 安徽省最后一次动地哪一年 湖南最后一次分田是哪一年 最后一次土地分配是哪一年 中国最后一次战争是哪一年
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在三角形ABC中,角A,B,C所对的边分别是a,b,c.满足(a-b)(sinA-sinB... 在三角形ABC中,角ABC所对的边分别为abc已知cos2C=负四分之一。 求sin... 在△abc中 角a b c所对的边分别为a b c 若sinA sinB sinC=根号3/2(sin... 在三角形ABC中,角A、 B、 C、的对边分别为a、 b、 c、且sinA方+sinC方... ...角A,B,C所对边为a,b,c,若sinB平方+sinC平方=sinA平方+sinBsinC,且A... 螺丝跟管道的尺寸叫法为什么不一样 在三角形abc中角abc所对的边分别为abc,若sinB平方+sinC平方=sinA平方+... 霍山黄大茶产地哪里 餐厅禁止自带酒水合法吗 餐饮店禁止客人自带酒水如何处罚 数据库中价格字段是varchar类型怎样在sql语句中使用sum函数计算总和_百... LIMS系统价格多少? SQL Server数据库和MySQL数据库有什么区别 请问sqlserver mysql oracle各有什么优缺点?它们一张表最多能容纳多少... sqlserver企业版和标准版价格都是多少? sqlserver 2000软件一套,价格多少?急!在线等 SqlServer是如何收费的? SQL Server 2012 中文标准版 什么价格? 正版SQL,SQLServer2012多少钱 代理商 价格 最新的sqlserver版本是多少?正版价格如何?? 感恩的作文200字要有一个小故事 阿里云云数据库SQLServer一年要多少钱 写一段小学二年级有关“感恩、励志、成功、读书、成长经历,孝敬,助人为乐等方面的作文 怎么写小学生感恩作文?300字以上的。要写事的啊。 关于感恩的小短文 小学生感恩的作文(短一点的) 感恩小故事100字以下 小学生作文感恩老师、同学、父母的作文 小学二年级小海娃感恩故事作文 感恩父母,我在行动作文600字二年级 最好有真实事情 原始股和期权股的关系? 我想问下在数据库中一个商品价格字段应该设置什么类型 投行 用sql吗 占林什么意思 老人负债种树16年使荒山变绿洲,为何女儿却因非法占林被拘捕? 包头市占林坚果炒货有限公司怎么样? 期权股原始股是怎么交易的? 占林两个的艺术签名 岳西县占林家庭农场怎么样? 拉直头发,离子烫还是直接拉直对头发伤害比较小? 占林补偿问题 货代自己出NVOCC提单和直接做直单在利润上有什么区别? 占林同学的妈妈从超市买回一袋胡萝卜,占林同学捡了一个最大的胡萝卜用细线系好挂在弹簧测力计上(如图) 我的頭髮剛燙了半個月能不能直接做拉直? 吉林省占林绿色农业科技有限公司怎么样? 烫了之后去洗直和直接去洗直做出来的效果有没有什么差别 蚌埠什么时候被日本侵入 苏联占林波兰为什么英国没对苏联宣战 想弄直头发但是也不要太直,不想做拉直,做什么?简单一点的。 洗直和拉直头发的区别