@asergrisa

Как получить разницу между значением в таблице и суммой значений из другой таблицы?

Предположим есть таблица user с id, numberOfBooks, idOfLibrary и таблица library с id, totalNumberOfBooks.
Т.е. есть люди приписанные к определенной библиотеке, они берут книги только из нее. Нужно узнать сколько книг осталось в библиотеках, т.е. разницу totalNumberOfBooks и суммой NumberOfBooks всех пользователей приписанных к библиотеке.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
select
t1.id,
t1.totalNumberOfBooks - t2.userBooks
from library t1
join
(
select
idOfLibrary,
sum(numberOfBooks) as userBooks
from user 
group by idOfLibrary
) t2 on t2.idOfLibrary = t1.idOfLibrary
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@shushpanio
shushpanio
как-то так

SELECT t2.id, t2.totalNumberOfBooks-t1.vidano_knig ostatok

from (select idOfLibrary, sum(numberOfBooks) vidano_knig from user group by idOfLibrary) t1
join library t2 on t2.id=t1.idOfLibrary
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы