Person、Character、PersonCharacterのクラスとそれに対応する構造が、次のデータ構造とMySQLデータベースのデータであるとします。可能であれば2つのテーブルのSQL AND/OR条件
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文を書くことができますか?たとえば、強くて明るい人物もいます。
質問は典型的なようですが、検索エンジンで答えを見つけるのは難しいです。
あなたはすでに "文字" idまたはwouを知っていますかあなたはそれを見る必要がありますか? [本質的にはJOINクエリですが、まだ持っていない場合は、文字IDを相互参照するためにさらに深いレイヤーに移動する必要があります。] –
これを調べる必要があります。 – OmniBus
'PersonCharacter'は非常に意味のあるデータ要素名ではありません。 '人格 'はどうですか? – onedaywhen