#sql #join #hive #hiveql
Вопрос:
У меня есть 3 стола, Еда, Счет и Филиал.
Food | foodID | productCode | foodName | foodQty | | -------- | -------------- | --------- | -------- | | 1 | 000001 | Mozerella | 50 | | 2 | 000002 | Tomato | 40 | | 3 | 000003 | flour | 60 | Invoice | id | foodID | branchID | qtySold | | ------ | ------- | -------- | -------- | | 1 | 1 | 2 | 3.5 | | 2 | 3 | 2 | 1.5 | | 3 | 3 | 5 | 2 | | 4 | 2 | 5 | 5.5 | Branch | branchID | branchName | | -------- | ---------- | | 1 | branch1 | | 2 | branch2 | | 3 | branch3 |
Мне нужно написать инструкцию HiveQL, чтобы получить следующий вывод
| productCode | productName | branchName | total quantity sold | | ----------- | ----------- | ---------- | ------------------- |
Это мое заявление HiveQL
Select f.productCode as productCode, f.productName as productName, b.branchName as branchName, SUM(i.qtySold) as qtySold FROM Invoice i JOIN Food f ON (i.foodID = f.foodID) JOIN Branch b ON (i.branchID = b.branchID)
Существуют ли другие способы присоединения, которые потенциально могут увеличить скорость запроса?
Комментарии:
1. пожалуйста, добавьте вывод команды ОБЪЯСНИТЬ