我正在为报告做一个存储过程,我试图只获取那些具有确定字段(累计金额)的最高值的记录,问题是我似乎找不到解决方案,我想出的唯一解决方案是使用额外条件,问题是每个月(期间)字段都会更改并且并非所有记录都更新但我需要全部检索它们......(如果资产在那里折旧将不再是该表中与该资产相关的记录)
很抱歉,如果这令人困惑,我会尽力解释
该报告需要为每个供应商登记一份供应资产清单、描述、当前位置、价格以及资产还需要折旧多少。
所以,我正在做的是首先获取供应商列表,然后获取与位置相关的资产列表(使用光标)然后我尝试计算需要折旧的金额,有一个名为“DEPRECIACIONES”的表存储资产、期间以及每个期间和尚未完全折旧的每项资产从该资产中折旧的金额。当我尝试计算资产折旧的 MAX 金额,然后选择具有该 MAX 金额的项目的行时,问题就出现了,我确定我做错了什么,我的 TSQL 和一般数据库知识不是很好,我正在努力自学。
我已经上传了在这里抛出错误输出的架构、表和存储过程:
http://sqlfiddle.com/#!3/78c32
正确的输出应该是这样的:
Proveedor | Activo | Descripcion | Ubicacion Actual | Costo Adquisicion | Saldo sin depreciar | Periodo
Supplier | Asset | Description | Current Location | Cost | Money to be depreciated | Period
-------------------------------------------------------------------------------------------
Monse |ActivoT| texthere | 1114 |2034.50| RANDOM NUMBER HERE |RandomP
Monse |cesart | texthere | 4453 |4553.50| RANDOM NUMBER HERE |RandomP
nowlast | activ | texthere | 4453 |1234.65| RANDOM NUMBER HERE |RandomP
nowlast |augusto| texthere | 4450 |4553.50| RANDOM NUMBER HERE |RandomP
Sara |Activo | texthere | 1206 |746.65 | RANDOM NUMBER HERE |RandomP
我真的很感激告诉我我做错了什么(可能很多)以及如何解决它,提前谢谢你。