我正在尝试显示MRP,销售率,税额等库存详情。
我使用了三个网格视图在我的表单中输入。他们是,
我使用SQL Query在网格视图中填充数据库记录。
我从表格中的产品网格视图中选择产品A,股票网格将显示产品A的相应数据
我的数据库记录,
code Name QTY MRP S.Rate
aa11 Pro A 5 120.00 130.00
aa11 Pro A 2 130.00 150.00
aa12 Pro B 4 100.00 110.00
aa13 Pro C 2 50.00 60.00
当我在表单中的GV产品详细信息中选择Pro A. GV股票详情将显示为Pro A的QTY,MRP,S.Rate
但是我的查询会像这种格式一样返回
aa11 Pro A 5 120.00 130.00
2 130.00 150.00
4 100.00 110.00
2 50.00 60.00
这是我的查询,
select s.*,iif( d.NewSalePrice is null,s.saleprice1,d.NewSalePrice)as NewSalePrice,Pdate from (select s.*,p.ProductFullName,p.ProductCode from Stock s,Product p where s.productfullcode=p.ProductFullCode) s left join(select Productfullcode,MRP,PUnitPrice,NewSalePrice,Pdate from DailyPricing ) d on s.ProductFullCode=d.ProductFullCode where s.MRP=d.MRP and s.UnitPrice=d.PUnitPrice and Pdate=(select MAX(Pdate) from DailyPricing where PUnitPrice=s.UnitPrice and mrp=s.MRP and ProductFullCode=s.ProductFullCode) order by ProductFullCode
如何获得仅与Pro A匹配的股票详细信息
注意:这些表格式只是我的表格的模型
先谢谢,
Vinayak vk。: - )
答案 0 :(得分:0)
您可以简化查询,并为您需要的产品名称添加where子句。
没有针对模拟数据测试它,但是像这样的SQL:
select
s.*,
p.ProductFullName,
p.ProductCode,
coalesce(d.NewSalePrice, s.saleprice1) as SalePrice,
max(d.Pdate) over (partition by p.ProductFullCode, s.mrp, s.UnitPrice) as MaxPdate
from Product p
join Stock s on s.productfullcode = p.ProductFullCode
join DailyPricing d on (s.ProductFullCode = d.ProductFullCode and s.MRP = d.MRP and s.UnitPrice = d.PUnitPrice)
where p.ProductFullName = 'Pro A'
order by p.ProductFullCode