В таблицах отношений «один ко многим» получить только те строки из таблицы A, которые имеют несколько соответствующих строк в таблице B - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть две таблицы с отношениями один-ко-многим .
A и B .

A имеет два атрибута: pkA и name
B имеет три атрибута: pkB, name и pkA, где pkA хранит pkA из таблица A .

Теперь я хочу написать запрос, который даст мне только те имена таблицы A , которые имеют более одной соответствующей записи в таблице B .


Пример -

A

a1     name1
a2     name2
a3     name3

B

b1    name1    a1
b2    name2    a1
b3    name3    a3    

Запрос должен возвращать только a1, name1, поскольку только a1 имеет несколько ссылок в таблице B .

1 Ответ

2 голосов
/ 07 апреля 2020

Вы можете использовать агрегацию и having:

select pkA
from b
group by pkA
having count(*) > 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...