如何添加百分比并将结果插入到不同的表中

时间:2013-03-14 12:37:33

标签: mysql sql

我试图从即期汇率中提供卖出率和买入率。目前我有一个名为货币的表格,其中包含 [currency_code] [Rate] 。 我还有一个名为交易的表,其中包含 [Tran_ID] [Buying_rate] [Selling_rate] 我想从 [Rate] 中添加3%并将其存储到 [Buying_rate] 中。我还希望减去3%并将其存储到 [Selling_rate] 中。

enter image description here

我在线寻找教程,但我找不到任何教程。如果可以展示演示,我将非常感激。

我已应用查询

 insert into Transaction Set 
 Tran_id = 1,
 Buying_Rate = (select (rate + (3*Rate)/100) as ratepos from currency  ),
 Selling_Rate = (select (rate - (3*Rate)/100) as rateneg from currency  )

我收到此错误消息=>>> #1242 - 子查询返回超过1行

交易

的表格结构
Field        Type    Collation  Attributes  Null    Default Extra   Action
Tran_ID      int(11)            No  None    auto_increment                          
Buying_Rate  float          No  None                                
Selling_Rate float          No  None                                

货币

的表格结构
Field          Type   Collation     Attributes  Null    Default Extra   Action
currency_code  varchar(255)   latin1_swedish_ci No                                  
Rate           float                            Yes       NULL  

交易表中,它意味着为空,以便新的销售和购买率存储在他们的输出示例中

交易表中,它意味着为空,以便新的销售和购买率存储在他们的输出示例中

**|Tran_ID|Buying_rate|Selling_Rate| ** 
  | 1     |   1.1842  | 1.1242     |

上面的例子显示欧元货币增加3%和减去3%

2 个答案:

答案 0 :(得分:2)

只是关于如何做到这一点的想法

 insert into Transaction Set 
 Trans_id = your_transaction_id ,
 Buying_ID = (select (rate + (3*Rate)/100) as ratepos from Currency 
              where currency_code = 'euro'),
 Selling_ID = (select (rate - (3*Rate)/100) as rateneg from Currency 
               where currency_code = 'euro' )

EDIT。

demo here

答案 1 :(得分:1)

你可以这样做:

Insert into Transaction  
Select Top 1 'Enter Trans_id', (Rate + (3*Rate)/100),(Rate - (3*Rate)/100) From Currency