select * from (select goodsid,recskdate,unitprice,sudocid,sudocdtlid from bms_su_dtl ) 我把数量取消掉了,增加了总单id和细单id,创建日期改成了记账日期 我是新手在学习阶段,所以不懂怎么样写。对于SQL的理解还不够。
追答
select * from (select goodsid,recskdate,unitprice,sudocid,sudocdtlid from bms_su_dtl ) A --在最后加一个字符 如 A ,表示查询的别名,如果查询没有别名,会有语法错误
select * from bms_su_dtl B, ( select goodsid,max(recskdate) recskdate from bms_su_dtl group by goodsid ) A where A.goodsid = B.goodsid and A.recskdate = B.recskdate
由于不知道你的表结构,不知道你的表中,可以根据什么字段判断是最后一笔数据,
所以假设是 recskdate,你换成可以判断的字段应该就可以了。
追问
非常谢谢你,但是那样得出来的数据,还有很多的字段是我不需要看的,select *
from
( select goodsid,max(RECSKDATE) RECSKDATE
from bms_su_dtl
group by goodsid )
我把你写的改成了这样,基本得到我想要的,
但是没有单价unitprice,我不知道该怎么加
追答
select B.goodsid,B.recskdate,B.unitprice --此处不写*,写成你想要的字段名 from bms_su_dtl B, ( select goodsid,max(recskdate) recskdate from bms_su_dtl group by goodsid ) A where A.goodsid = B.goodsid and A.recskdate = B.recskdate