2012-02-09 7 views
0

例:MySQLでは、テーブル参照を1回の選択で2回使用するにはどうすればよいですか?

Table: Unit 
ID NAME VALUE 
1 Kilo 1000 
2 Mega 1000000 
3 Giga 1000000000 

Table: Storage 
ID Title Drive_value Drive_unit_ID Cache_value Cache_unit_ID 
1 Seagate 100   3    400   1 
2 Scansoft 250   3    80   2 

関係:

Storage.Cache_unit_ID references Unit.ID 
Storage.Drive_unit_ID references Unit.ID 

望ましい目標: 選択を行うには*ストレージからは、キャッシュ] AS「ドライブと '' として新しい列を表示します適切なUnit.VALUEを掛けてこれを表示してください。

Title  Drive   Cache 
Seagate 100000000000 400000   
Scansoft 250000000000 80000000000   

答えて

1

あなたは、結合されたテーブルに別名あなた限り、同じテーブルを何回でも参加することができます。

SELECT s.Title, u1.VALUE * s.Drive_value AS Drive, u2.VALUE * s.Cache_value AS Cache 
FROM Storage s 
INNER JOIN Unit u1 ON u1.ID = s.Drive_unit_ID 
INNER JOIN Unit u2 ON u2.ID = s.Cache_unit_ID 
関連する問題