SQL 语句

将SQL语句TOP2查询到的记录输出到一个临时表例如查询到一字段的两条记录ab输出为ab怎么写语句呀客户要求为做个最新入库价报表。要求有以下列:物料编号,最新入库价,最新... 将SQL 语句 TOP2查询到的记录 输出到一个临时表
例如查询到一字段的两条记录 a
b
输出为 a b 怎么写语句呀
客户要求为 做个最新入库价报表。要求有以下列:物料编号,最新入库价,最新入库价的紧接上一次入库价。3 列。
查询到
物料编码 入库单价 入库时间
01 10 2010.11.16
01 15 2010.11.15
01 12 2010.11.14
然后我想要的是
物料编码 最新入库单价 最新入库价的紧接上一次入库价
01 10 15
这样的
展开
 我来答
着巴叶q
2010-11-16 · 超过25用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:30.3万
展开全部
如果确定要用SQL语句完成这个动作,则比较复杂,还必需表有一个唯一关键字段才可以。假设此字段为ID
我们分段做这个语句:
语句1、首先找出物料编号,最新入库价所在行的ID,如果ID是自动增长,或者越晚则ID越大则简单,找最大ID就是最后的入库单价,如果不是这样,要根据时间找最后的入库单价,更麻烦点
(1)、ID与入库时间成比例的:
select ID from (SELECT 物料编码,max(ID) as ID FROM table_name GROUP BY 物料编码)
(2)、ID与入库时间没关系的(程序编写的ID)
select ID from table_name a,(SELECT 物料编码,max(入库时间) as 入库时间 FROM table_name GROUP BY 物料编码) b where a.物料编码=b.物料编码 and a.入库时间=b.入库时间)
语句2、根据ID先找出最后入库单价
select 物料编码,入库单价 from table_name where ID in(语句1)
语句3、类似语句1,找出紧接上次的入库价数据的ID,在语句1的基础上,但增加一个条件ID not in(语句1)来排除最新入库价,就得到上次价
语句4、类似语句2,使用ID in(语句3),得到物料编码、紧接上次价;
语句5、连接语句2、4,on条件使用物料编码相同就可以得到最后的结果了。

注意,最后写好语句5,则一个语句就得到结果了。
紫仑天玑
2010-11-16 · 萝卜数学关注思维过程
紫仑天玑
采纳数:324 获赞数:888

向TA提问 私信TA
展开全部
SELECT 物料编号,最新入库价,最新入库价的紧接上一次入库价
INTO new_table_name
FROM old_tablename
-------------------------------------------------
如果不行请CALL ME!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sengehao
2010-11-16 · 超过30用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:72.1万
展开全部
select a.wlbm,a.rkdj,b.rkdj from
(select * from (select wlbm,rkdj,rank() over(order by rksj desc ) cc from 表名 ) where cc=1 ) a,
(select * from (select wlbm,rkdj,rank() over(order by rksj desc ) cc from 表名 ) where cc=2 ) b

我在oracle上测试成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cf38862
2010-11-16 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:141万
展开全部
如果入库时间精确到毫秒就好写了,现在这个表结构不好写,如果最近一次的入库编码、单价、时间和上一次入库的编码、单价、时间完全一样的话,语句不好判断,所以,如果入库时间精确到毫秒的话,偶还可以一条SQL写出来、、、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式