select sum(l.coins) - sum(t.coins) as total
from luxx_getaway_2016_coins l
join thrive_rewards_redeemed t
on l.consid = t.guideid
where l.consid = 24969 and t.harvestyear = 1516
Hello all. Я пытаюсь получить обновленную сумму, используя указанный выше запрос. Проблема, с которой я сталкиваюсь, состоит в том, что общая сумма этих сумм составляет намного выше того, что должно быть. Я не уверен, что я делаю неправильно. Мы используем базу данных Azure SQL, и я использовал RazorSQL и SSMS 2012 для запуска этого запроса с одинаковыми результатами. Любая помощь приветствуется. Пожалуйста, не стесняйтесь просить разъяснений.Почему мой вычитание не корректно?
Что возвращается, если вы просто выбрать строки, без суммы? например 'Выбрать * из luxx_getaway_2016_coins л присоединиться thrive_rewards_redeemed т на l.consid = t.guideid где l.consid = 24969 и t.harvestyear = 1516' – APH
ли' 'l.consid' и t.guideid' уникальным в своих соответствующих таблицы? если нет, вы получите дубликаты, когда вы присоединитесь. – rdbradshaw
@APH Список всех полей из обеих таблиц. Теперь я могу понять, почему я получаю то общее, что получаю. Для каждой позиции в одной таблице создается дублируемая позиция для соединяемой таблицы. Поэтому, если у меня есть 10 строк в одной таблице и одна строка в другой, то с наименьшими строками необходимо создать столько строк, сколько будет создаваться другой таблицей. – acecabana