Предполагается, что у нас есть классы Person, Character и PersonCharacter и их соответствующая структура в следующей структуре данных и данных в базе данных MySQL.
table persons
[
{ id: 1, name: peter },
{ id: 2, name: mary },
{ id: 3, name: joe },
{ id: 4, name: paul },
{ id: 5, name: may },
]
table characters
[
{ id: 101, description: cheerful },
{ id: 102, description: nervous },
{ id: 103, description: greedy },
{ id: 104, description: sincere },
{ id: 105, description: naive },
{ id: 106, description: firm },
]
table person_characters
[
{id: 1000, person_id: 1, character_id: 101},
{id: 1001, person_id: 1, character_id: 103},
{id: 1002, person_id: 1, character_id: 106},
{id: 1003, person_id: 2, character_id: 102},
{id: 1004, person_id: 2, character_id: 104},
{id: 1005, person_id: 3, character_id: 102},
{id: 1006, person_id: 3, character_id: 105},
{id: 1007, person_id: 4, character_id: 104},
{id: 1008, person_id: 5, character_id: 101},
{id: 1009, person_id: 5, character_id: 106},
]
Как можно написать оператор SQL, если это возможно, с помощьюRails, что может выяснить это у людей, у которых есть конкретные персонажи?Например, люди с характером, как стойкие, так и веселые, могут быть и любопытны.
Вопрос кажется типичным, но в поисковых системах трудно найти ответ.