У меня есть база данных, и я пытаюсь получить список имен наряду с общим значением для заимствованных предметов.MYSQL TotalValue, когда другой столбец имеет заданное значение
В настоящее время все данные, которые мне нужны, можно посмотреть в следующем запросе.
SELECT *
FROM Borrower b
JOIN Loan l ON b.BorId = l.BorId
JOIN BookCopy bc ON l.BcId = bc.BcId
JOIN BookTitle bt ON bc.BtId = bt.BtId
В конце дня я хочу b.BorName в колонке и сумма bt.Value для каждого из заемщиков в другой колонке.
В приведенном выше описании показано несколько строк для каждого имени BorName, так как у каждого человека есть несколько предметов, заимствованных, но я хочу уменьшить это до одной строки для Заемщика с суммой всех связанных полей bt.value в другом столбце.
Я попытался выбрать ниже
SELECT b.BorName, SUM(DISTINCT bt.Value) as Total
FROM Borrower b
JOIN Loan l ON b.BorId = l.BorId
JOIN BookCopy bc ON l.BcId = bc.BcId
JOIN BookTitle bt ON bc.BtId = bt.BtId
Но это просто возвращает одну строку для первого Заемщиком в запросе с их общей стоимости.
Я достиг предела моих текущих знаний MYSQL и пробовал смотреть дальше в GROUP BY, например. SUM и подзапросы, но не могут понять, что я должен делать.
Что делать, если я тогда хотел, чтобы ограничить это где "Тоталь значение было> 10? Я пробовал просто ГДЕ как до, так и после GROUP BY, ссылаясь на Total или SUM (bt.Value), но не работает. –
Для кого-нибудь эта ссылка поможет http://codespatter.com/2008/07/22/conditions-on-count-or-sum-in-mysql/ Слово, которое вы ищете, это –
@ mr.user1065741 Да, вам нужно использовать 'HAVING' –