select spdm,dj from biao a where kdrq=(select max(kdrq) from biao where spdm=a.spdm group by spdm)
select distinct spdm,dj from rkdmxb xx where kdrq=(select max(kdrq) from rkdmxb where xx.spdm=spdm)
是不是如下: Select spdm,dj from 表 a where kdrq = (select max(kdrq) from 表 where spdm = a.spdm)
select spdm,dj from biao a inner join (select spdm,max(kdrq) as kdrq from biao group by spdm) b on a.spdm=b.spdm and a.kdrq=b.kdrq
SELECT rkmxb.jlfs, rkmxb.spdm, spmc=spml.spmc, spgg=spml.spgg, zgcl=spml.zgcl, zdcl=spml.zdcl, spdj=(select djmc from spdjb where djdm =spml.spdj), clkmdm=spml.kmdm, rkdh='', xh=1, rkmxb.ph, rkmxb.dw, rkmxb.dwxs, dj=case when isnull(rkmxb.sssl,0)=0 then 0 else (isnull(rkmxb.je,0)+isnull(rkmxb.ftje,0))/isnull(rkmxb.sssl,0) end, rkmxb.shlv, je=isnull(rkmxb.je,0)+isnull(rkmxb.ftje,0), rkmxb.wse, rkmxb.se,
rkmxb.bz, rkmxb.yssl, rkmxb.sssl, dydjxh=rkmxb.xh, dydjh=rkmxb.rkdh, rkmxb.sl, rkmxb.zk, rkmxb.jshj, rkmxb.kslbid, rkmxb.ftje, rkmxb.ftshlv, ckdm=rkdb.ckdm, gysdm=rkdb.ghdw, rkmxb.ftse FROM rkmxb,spml,rkdb WHERE rkdb.yszt=1 and rkmxb.rkdh=rkdb.rkdh and rkdb.zt=1 and convert(char(6),rkdb.kdrq,112)<=:ny and rkmxb.spdm*=spml.spdm
dj=case when isnull(rkmxb.sssl,0)=0 then 0 else (isnull(rkmxb.je,0)+isnull(rkmxb.ftje,0))/isnull(rkmxb.sssl,0) end, 改为历史最近的入库单价
表rkdmxb, 字rkdh 字符型 ,spdm 字符型 ,dj 单精度 ,kdrq 日期型 你这里面的rkdh是干什么用的?是不是递增而且不重复的?如果是的话这样: select spdm,dj,kdrq,rkdh from rkdmxb where rkdh in (select max(rkdh) from rkdmxb group by spdm)
Select spdm,dj from 表 a where kdrq = (select max(kdrq) from 表 where spdm = a.spdm)
rkmxb.spdm,
spmc=spml.spmc,
spgg=spml.spgg, zgcl=spml.zgcl,
zdcl=spml.zdcl, spdj=(select djmc from spdjb where djdm =spml.spdj),
clkmdm=spml.kmdm,
rkdh='',
xh=1,
rkmxb.ph,
rkmxb.dw,
rkmxb.dwxs,
dj=case when isnull(rkmxb.sssl,0)=0 then 0
else (isnull(rkmxb.je,0)+isnull(rkmxb.ftje,0))/isnull(rkmxb.sssl,0) end,
rkmxb.shlv,
je=isnull(rkmxb.je,0)+isnull(rkmxb.ftje,0),
rkmxb.wse,
rkmxb.se,
rkmxb.yssl,
rkmxb.sssl,
dydjxh=rkmxb.xh,
dydjh=rkmxb.rkdh,
rkmxb.sl,
rkmxb.zk,
rkmxb.jshj,
rkmxb.kslbid,
rkmxb.ftje,
rkmxb.ftshlv,
ckdm=rkdb.ckdm,
gysdm=rkdb.ghdw,
rkmxb.ftse
FROM rkmxb,spml,rkdb
WHERE rkdb.yszt=1 and rkmxb.rkdh=rkdb.rkdh and rkdb.zt=1 and convert(char(6),rkdb.kdrq,112)<=:ny and rkmxb.spdm*=spml.spdm
else (isnull(rkmxb.je,0)+isnull(rkmxb.ftje,0))/isnull(rkmxb.sssl,0) end,
改为历史最近的入库单价
字rkdh 字符型
,spdm 字符型
,dj 单精度
,kdrq 日期型
你这里面的rkdh是干什么用的?是不是递增而且不重复的?如果是的话这样:
select spdm,dj,kdrq,rkdh from rkdmxb where rkdh in (select max(rkdh) from rkdmxb group by spdm)