0
我已經投入了必要的2+小時的挖掘工作,但沒有得到答案。INNER JOIN需要在結果中使用兩次列值
我想合併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_entity
或supplying_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_name
供給purchasing_entity
和supplying_entity
。
似乎沒有這樣的伎倆。我得到空的結果。 我也嘗試切換到左連接,但這留下了兩個「entity_name」列中的「null」。 – StackinUpKnowledge
您確定transaction_history表的supply_entity字段中的值是否與entity_list表的entity_id的值匹配?我在查詢中添加了supplier_entity和purchasing_entity字段。請再次運行以確保它們不爲空。 –
感謝阿卜杜拉,正如我從問題中的例子到我實際領域的名字一樣,我在邏輯上犯了一個錯誤。謝謝你迫使我仔細檢查。並感謝您的快速,有幫助,最重要的是,正確的迴應。 – StackinUpKnowledge