Как написать SQL-запрос для вопроса ниже? - PullRequest
0 голосов
/ 03 мая 2019

Есть банк крови, который поддерживает две таблицы

  • Донор: люди, желающие сдать кровь
  • Акцептор: люди, которые нуждаются в крови.

Банк крови хочет разместить заказ на несколько пинт крови в другом банке

Чтобы разместить такой заказ, банку необходимо запросить свою базу данных и получить группы крови, общее количество которых доноры могут дать меньше, чем общее количество крови, необходимое акцепторам.

Обе группы крови и их незаполненные количества должны быть опрошены.

**Donor**:    DID  | NAME  | GENDER |  CITY |  BLOOD_GROUP |  AMOUNT     
**Acceptor**: AID  | NAME  | GENDER |  CITY |  BLOOD_GROUP |  AMOUNT

1 Ответ

0 голосов
/ 03 мая 2019

Это поможет вам запросить дополнительную кровь,

Select a.BG,a.AcceptorAmount-COALESCE(b.DonarAmount,0) as MoreBloodNeeded
From
(Select BG,SUM(AMOUNT)as AcceptorAmount
From ACCEPTOR Group by BG)a
LEFT JOIN
(Select BG, SUM(Amount) as DonarAmount
FromDONOR Group by BG)b on a.BG=b.BG and a.AcceptorAmount>COALESCE(b.DonarAmount,0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...