私は2つのテーブルを持っています。1つのテーブルは次のようになります
ORDER_ID | SHOPPER_NAME | DATE
-------------------------------
001A | Marianna | 08/09/2012
002A | Jason | 80/08/2012
注文に関する情報を持つ別のテーブル
ORDER_ID | DATA_CODE | DATA_VALUE
----------------------------------
001A | MILK_MONEY | 1.20
001A | NUM_EGGS | 22
002A | TOTAL_SPENT | 32.43
001A | TOTAL_SPENT | 42.13
特定の注文のデータ コードをいくつか取得する必要があります。SHOPPER_NAME、MILK_MONEY (DATA_VALUE where DATA_CODE = 'MILK_MONEY')、TOTAL_SPENT、NUM_EGGS を 1 行で選択するにはどうすればよいですか? 私は3つの結合を行っている場所で動作しています
SELECT SHOPPER_NAME,
MILK.DATA_VALUE,
EGGS.DATA_VALUE,
TOTAL.DATA_VALUE
FROM GROCERIES G
JOIN ORDER_INFO MILK ON MILK.ORDER_ID=G.ORDER_ID
JOIN ORDER_INFO EGGS ON EGGS.ORDER_ID=G.ORDER_ID
JOIN ORDER_INFO TOTAL ON TOTAL.ORDER_ID=G.ORDER_ID
しかし、これは見苦しくなり始めており、同じテーブルで複数の結合を行うのは正しくないと感じています。これを行うより効率的な方法はありますか?
ありがとうございました!