我有两张桌子。一张桌子看起来像
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,其中 DATA_CODE = 'MILK_MONEY')、TOTAL_SPENT 和 NUM_EGGS?我让它在我正在做 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
然而,这开始看起来很难看,在同一张表上进行多个连接感觉不正确。有没有更有效的方法来做到这一点?
谢谢!