Выбор объекта на основе условия сравнения в другой таблице - PullRequest
0 голосов
/ 01 марта 2019

У меня есть две таблицы.Это не они, но это тот же принцип:

Table:One (artists)
--------------
id (Primary Key)
name
best genre

Table:Two (artist teams)
-------------
id1 (Foreign Key)
id2 (Foreign Key)

Я хочу выбрать команды артистов, где их любимые жанры совпадают.

Моя работа на данный момент такова:

SELECT *
FROM Two INNER JOIN One
WHERE ( ).

Я не совсем понимаю, что добавить в выражение WHERE.Я понятия не имею, как сравнивать значения жанров художника друг с другом!

pseudo code for WHERE:
retrieve id#1's favourite genre 
retrieve id#2's favourite genre
compare them
if equal display the related entity from table Two

Я долго искал решение и не могу найти ничего подобного, полагаюэто может быть немного синтаксис, который я пропускаю.Спасибо за любую помощь!

1 Ответ

0 голосов
/ 01 марта 2019

Вам нужно несколько объединений к таблице "художников":

select t.*, a1.genre
from teams t join
     artists a1
     on t.id1 = a1.id join
     artists a2
     on t.id2 = a2.id and a2.genre = a1.genre;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...