同じフィールドを複数条件指定して検索をする場合
やりたいこと。
あるものに対して識別する種別と項目から個体を設定する。
複数種別の識別項目から検索をしたい。
table_a
id_a が 個体ID
id_b が 個体識別種別ID
id_c が 個体識別項目ID
table_b
s_id が 個体識別種別ID
s_name が 個体識別種別名
table_c
k_id が 個体識別項目ID
k_name が 個体識別項目名
k_sid が 個体識別種別ID
条件:
table_aは id_aとid_bでユニークな値になる。
table_cのk_idはユニーク値。
識別種別(table_b)は無制限に増える可能性がある
識別項目(table_c)も無制限に増える可能性がある
種別が可変なのでtable_aに種別分のフィールドを作ることができない。
例)
Aさんは手が二本で頭は悪い。
Bさんは手が二本で頭は良い。
Cさんは手が四本で頭は普通。
Dさんは手が複数で頭は悪い。
table_a(id_a,id_b,id_c)
A,1,1
A,2,4
B,1,1
B,2,5
C,1,2
C,2,6
D,1,3
D,2,4
table_b(s_id,s_name)
1,手
2,頭
table_c(k_id,k_name,k_sid)
1,1,二本
2,1,四本
3,1,複数
4,2,悪い
5,2,良い
6,2,普通
検索:手が二本で頭が良い人
結果:A
以上のことをやるにはどのようにしたら良いでしょうか。
テーブル構造が悪い場合変更することも検討しています。
よろしくお願いします。
お礼
回答ありがとうございます。 回答者様のおっしゃるとおり、スカイプ名と、スカイプ表示名を間違って教えてしまったようです。 固有のものはスカイプ名の方なんですね。 ありがとうございました。