INNER JOIN需要在结果中使用两次列值

时间:2015-08-23 18:08:46

标签: sql join

我已经进行了必要的2个多小时的挖掘而没有得到答案。

我想合并3个SQL表,其中表A和B共享一个列,表B和C共享一个列 - 表A和C不共享。

例如:

表A - entity_list

entity_id | entity_name | Other, irrelevant columns

示例:

1 | Microsoft |

2 | Google    |

表B - transaction_history

transaction_id | purchasing_entity | supplying_entity | other, irrelevant columns

示例:

1 | 2 | 1

表C - transaction_details

transactional_id | amount_of_purchase | Other, irrelevant columns

1 | 5000000 |

使用INNER JOIN,我已经能够得到一个结果,我可以将entity_name链接到purchasing_entitysupplying_entity。然后,在结果中,我得到的是实体名称,而不是entity_id。但我想用实体名称代替购买和供应实体。

我的理想结果如下:

1 [transaction ID] | Microsoft | Google | 5000000

我来的关闭是:

1 [transaction ID] | Microsoft | 2 [Supplying Entity] | 5000000

到那儿,我已经完成了:

SELECT transaction_history.transaction_id,
       entity_list.entity_name, 
       transaction_history.supplying_entity, 
       transaction_details.amount_of_purchase
FROM transaction.history
INNER JOIN entity_list
ON transaction_history.purchasing_entity=entity_list.entity.id
INNER JOIN
ON transaction_history.transaction_id=transaction_details.transaction_id

我无法entity_namepurchasing_entitysupplying_entity提供信息。

1 个答案:

答案 0 :(得分:0)

以下是查询:

written_score