Sql запрос двух таблиц - PullRequest
       1

Sql запрос двух таблиц

0 голосов
/ 09 апреля 2020

У меня есть две таблицы в моей базе данных sql. Я хочу найти количество групп крови по полу, используя две таблицы. Я могу получить счет по полу, используя одну таблицу, но не могу получить его, используя две таблицы.

|-----------------------------------------------------|
|                        DONOR                        |
|-------|-------|----------|--------|------|----------|
|  DID  |  NAME |  GENDER  |  CITY  |  BG  |  AMOUNT  |
|-------|-------|----------|--------|------|----------|
|  1    |  A1   |    F     |  C1    |  AB+ |    7     |
|-------|-------|----------|--------|------|----------|
|  2    |  A2   |    F     |  C2    |  A+  |    2     |
|-------|-------|----------|--------|------|----------|
|  3    |  A3   |    M     |  C1    |  AB+ |    5     |
|-------|-------|----------|--------|------|----------|
|  4    |  A4   |    F     |  C3    |  AB+ |    3     |
|-------|-------|----------|--------|------|----------|
|  5    |  A5   |    M     |  C1    |  A-  |    4     |
|-------|-------|----------|--------|------|----------|
|-----------------------------------------------------|
|                        ACCEPTOR                     |
|-------|-------|----------|--------|------|----------|
|  AID  |  NAME |  GENDER  |  CITY  |  BG  |  AMOUNT  |
|-------|-------|----------|--------|------|----------|
|  1    |  B1   |    F     |  C1    |  AB+ |    7     |
|-------|-------|----------|--------|------|----------|
|  2    |  B2   |    F     |  C2    |  A-  |    2     |
|-------|-------|----------|--------|------|----------|
|  3    |  B3   |    M     |  C1    |  B+  |    5     |
|-------|-------|----------|--------|------|----------|
|  4    |  B4   |    F     |  C3    |  AB+ |    3     |
|-------|-------|----------|--------|------|----------|
|  5    |  B5   |    M     |  C1    |  A-  |    4     |
|-------|-------|----------|--------|------|----------|

ВЫХОД

F AB+ 4
F A+  1
M AB+ 1
M A-  2
F A-  1
M B+  1

Можете ли вы помочь мне с запрос для этого я не очень хорошо с такого рода запросом. Я сделал только один запрос к таблице.

1 Ответ

1 голос
/ 09 апреля 2020

Вам необходимо UNION ALL для двух таблиц и агрегации:

select t.gender, t.bg, count(*)
from (
  select gender, bg from donor
  union all
  select gender, bg from acceptor
) t
group by t.gender, t.bg
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...