2016-10-15 2 views
0

私は3つのテーブル(以下簡略化しています)にbed.priceをcurrency.oneDollarで掛けて、新しいフィールドpriceInDollarとして注文します。MySQL:3つのテーブルを結合し、新しいフィールドとして注文する前に通貨で価格を掛けてください。

ホテル

hotelID city    name   
2   London   Hotel-London-Inn      

ベッド

bedID  hotelID   room   price  cur 
1   2    single room  10  USD 
1   2    double room  100  MXN 

通貨

id  cur    oneDollar   
1   USD    1      
2   MXN    0.052605 

これは私が望むようにホテルやベッドに参加するが、価格を乗算する方法を見つけ出すcan't新しい分野としてのドルへそれを注文する。

SELECT hotel.*, bed.* 
      FROM hotel JOIN bed 
      ON hotel.hotelID = bed.hotelID 
     WHERE hotel.city = 'London' ORDER BY bed.price ASC 

答えて

1

あなたはすべての通貨値を取得しますが、あなたはより多くを追加することができますサンプルに参加し、他の必要な場所のフィルタの条件

 SELECT 
      hotel.* 
     , bed.* 
     , bed.price 
     , currency.cur 
     , bed.price * currency.oneDollar as priceInDollar 
     FROM hotel 
     INNER JOIN bed ON hotel.hotelID = bed.hotelID 
     INNER JOIN currency on currency.cur = bed.cur 
     WHERE hotel.city = 'London' 
     ORDER BY bed.price * currency.oneDollar ASC 
+0

私はOPがbed.price * currency.oneDollarで注文したいと思います – Jayvee

+0

bed.price * currency.oneDollarをpriceInDollarとして実行して、元の価格を失うことはできませんか? –

+0

回答が更新されました... – scaisEdge

関連する問題