求一句SQL 谢谢!关于两个表中字段的引用真是参不透啊,快哭了

时间:2021-03-20 15:14:49
表一:
订单号   商品    数量    单价  使用年限
A1       电视     7      1000     10
A1       冰箱     5      500       8 
A3       电视     2      600       10 
A2       电视     5      300       10
A3       空调     7      1000      7 
……
……

表二:
订单号        折旧起始日期       币种
A1            2011/1/1            ¥
A2            2012/5/3            $
A3            2010/10/24          $

……
……

说明:表一中的单价都是订单币种的单价(比如:A1的电视是¥1000,A3的电视是$600)
需要:我想返回两个结果字段:
1.  表一中每个条目的人民币价值(假设汇率固定为7)
2.  今天表一中各条目折旧后的价值(假设商品按使用年限平均折旧——比如:每天折旧为 单价/(365*年限))
这两个返回值能否写在一句中,各位老大,我已经晕菜了,还请多多帮忙!谢谢了!

4 个解决方案

#1


你折旧后的价值是不是要统一为一种币别?

#2


引用 1 楼 reenjie 的回复:
你折旧后的价值是不是要统一为一种币别?


是的,需要人民币,谢谢了

#3


引用 2 楼 mansohu 的回复:
Quote: 引用 1 楼 reenjie 的回复:

你折旧后的价值是不是要统一为一种币别?


是的,需要人民币,谢谢了


select a.订单号,case when b.币种='$' then  a.单价*7 else a.单价 end as 人民币价值,
case when b.币种='$' then  a.单价*7/(365*a.使用年限) else a.单价/(365*a.使用年限) end as 折旧后人民币价值,
 from tbl_1 a left join tbl_2 b on a.订单号

#4


 select a.*,人民币单价=case when 币种='$' then 单价*7 else 单价 end,
        折旧后的价值=(case when 币种='$' then 单价*7 else 单价 end)*(1-1/(365*使用年限)*DATEDIFF(dd,折旧起始日期,GETDATE()))
 from tb1 a,tb2 b where a.订单号=b.订单号

#1


你折旧后的价值是不是要统一为一种币别?

#2


引用 1 楼 reenjie 的回复:
你折旧后的价值是不是要统一为一种币别?


是的,需要人民币,谢谢了

#3


引用 2 楼 mansohu 的回复:
Quote: 引用 1 楼 reenjie 的回复:

你折旧后的价值是不是要统一为一种币别?


是的,需要人民币,谢谢了


select a.订单号,case when b.币种='$' then  a.单价*7 else a.单价 end as 人民币价值,
case when b.币种='$' then  a.单价*7/(365*a.使用年限) else a.单价/(365*a.使用年限) end as 折旧后人民币价值,
 from tbl_1 a left join tbl_2 b on a.订单号

#4


 select a.*,人民币单价=case when 币种='$' then 单价*7 else 单价 end,
        折旧后的价值=(case when 币种='$' then 单价*7 else 单价 end)*(1-1/(365*使用年限)*DATEDIFF(dd,折旧起始日期,GETDATE()))
 from tb1 a,tb2 b where a.订单号=b.订单号