У меня вопрос в Oracle SQL.DISTINCT in JOIN
Чтобы упростить свою задачу, скажем, у меня есть две таблицы:
TAB1: TAB2:
Usr Fruit Fruit Calories
1 A A 100
1 A B 200
1 A C 150
1 C D 400
1 C E 50
2 A
2 A
2 E
Очень важно, что есть двойные записи в TAB1. Теперь я хочу знать, калорий для USR 1. Но, присоединившись обе таблицы
SELECT TAB2.calories from TAB1
JOIN TAB2 ON TAB1.Fruit = TAB2.Fruit
WHERE TAB1.Usr = 1;
Я получаю двойные результаты для двойных записей. Я мог бы, конечно, использовать различный заголовок, но есть ли возможность отличать значения (до A и C) непосредственно в соединении? Я уверен, что это улучшит мою (намного большую) производительность.
Спасибо!
Если пользователь ест/использует фрукты три раза, разве он/она три раза больше калорий? –
вы имеете в виду, если я ем 800 г шоколада в 4 зелья, всего 200 г? –
** Почему ** важно иметь повторяющиеся записи в TAB1? Если usr 1 имеет фрукты A 3 раза, то калорий 300. Точный результат также «важен»? –