のテーブルperson
とのテーブルがありますlanguage
。各人は最大4つの言語を話すことができます。たとえば、私のクライアントは話すことができる人を検索したいと考えていますSpanish
。
私の問題は、結果テーブルにはLanguage
複数の列が含まれるため、現在、呼び出される列がないことです。最初の言語だけを表示することもできますが、それらが話す他の言語を非表示にすることは誤解を招く可能性があります。
テーブルには各言語の列を含めることができ、NULL
4つの言語すべてがない場合は、次のように入力します。
Language 1
Language 2
Language 3
Language 4
しかし、これは非常にずさんなようです。
カンマ区切りのリストを使用して、すべての言語を1つの列にリストすることを検討しましたが、これは列をアルファベット順に並べ替えるのに適しています。
現在、結果テーブルには、その人が1つ(1対1)、つまり母国語などを持っている列のみを表示できることをクライアントに伝える必要がありますname
。location
クライアントがその人をクリックした場合にのみ、すべてを表示できます。彼らの言語の。
これを解決する一般的な方法があるかどうか誰かが知っていますか?これが理にかなっていることを願っています
私は関連付けテーブルを持っています。問題は、私の検索が返されることです
joe bloggs、ゴッサムシティ、スペイン語
それから
joe bloggs、ゴッサムシティ、フランス語
次の行に-しかし、同じ人が表に2回リストされています。名前ごとに1つのエントリに制限すると、「joe bloggs、gotham city、spanish」と表示されます。彼がフランス語も話していることを今は知りません。これはより明確ですか?