SQL查询某一字段的最大值

3个表,成品表、部件表、部件采购单表,某一成品在部件表下有若干个部件,每一部件在采购单下有多次采购记录,我想查询某一成品下的所有部件的最近采购记录。如下:《成品表》《部件... 3个表,成品表、部件表、部件采购单表,某一成品在部件表下有若干个部件,每一部件在采购单下有多次采购记录,我想查询某一成品下的所有部件的最近采购记录。如下:
《成品表》 《部件表》 《采购单表》
成品名称 成品名称 日期
属性 部件名称 部件名称
属性 单价

我想查询到的结果类似如下:
成品名称 部件名称 最近单价
A A1 2.0
A A2 1.2
A A3 1.5
B B1 2.5
B B2 1.0
展开
 我来答
Worldownme
2012-01-09
知道答主
回答量:24
采纳率:0%
帮助的人:17.2万
展开全部
Select 成品表.成品名称,部件表.部件名称,采购单表.单价 as 最近单价,max(采购单表. 日期) from 成品表,部件表,采购单表 where 成品表.成品名称=部件表.成品名称 and 部件表.部件名称=采购单表.部件名称 group by 成品表.成品名称,,部件表.部件名称,采购单表.单价
hy1397471
推荐于2016-06-20 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部
sql查询字段的最大值使用MAX()函数。

例:select max(a) from table
语句大意:检索表table中a字段中的最大值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stand32
2012-01-09 · TA获得超过141个赞
知道答主
回答量:66
采纳率:0%
帮助的人:54.1万
展开全部
SELECT *
FROM (
SELECT A.成品名称
,B.部件名称
,C.单价
,ROW_NUMBER() OVER(PARTITION BY A.成品名称,B.部件名称 ORDER BY C.日期 DESC) AS RN
FROM 《成品表》 A
JOIN 《部件表》 B ON B.部件名称 = A.成品名称
JOIN 《采购单表》 C ON C.部件名称 = B.部件名称
)
WHERE RN = 1
ORDER BY 成品名称,部件名称
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heley123456
2012-01-12 · 超过17用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:21.5万
展开全部
select A.成品名称,A.部件名称,B.单价
from 部件表 A left join 采购单表 on A.部件名称 =B.部件名称
where 日期in(select max(日期) from 采购单表where 部件名称 =B.部件名称)

大概这样吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅气的地球
2012-01-09 · TA获得超过266个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:145万
展开全部
select a.成品名称,b.部件名称,c.单价,max(c. 日期)
from 《成品表》 a
join 《部件表》 b on a.成品名称=b.部件名称
join 《采购单表》 c on b.部件名称=c.部件名称
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式