このディレクトリの索引
http://toro.2ch.net/test/read.cgi/db/1316769778/348
#  (質問) 
#   チェックボックス値による検索を行いたいと思っています。 
#   
#  MYSQL5.1 
#   
#  T1 マスタテーブル 
#  ID | DATE     | DATA 
#  --+----------+----- 
#  1 | 2007-11-11 | aaa 
#  2 | 2007-11-11 | bbb 
#  3 | 2007-11-10 | ccc 
#   
#  T2 チェックボックステーブル1 
#  ID | cate1     |  
#  --+--------- |    
#  1 | 201      | 
#  1 | 202      | 
#  1 | 205      | 
#  2 | 202      | 
#  2 | 203      | 
#  3 | 203      | 
#  3 | 204      | 
#   
#  T3チェックボックステーブル2 
#  ID | cate2     |  
#  --+--------- |    
#  1 | 401      | 
#  1 | 403      | 
#  1 | 404      | 
#  3 | 403      | 
#  3 | 404      | 
#  3 | 405      | 
#   
#  このような3つのテーブルから、下記のように出したいがどうすれば 
#   
#  T2で 201、202、を含み 
#  且つ 
#  T3で 403 を含む  
#   
#  結果 T1のIDレコード 
#  1 | 2007-11-11 | aaa 
#   
#  試した事 
#  select * from `T1` 
#  join `T2` using(ID) 
#  join `T3` using(ID) 
#  where 
#  cate1 in(201,202)  
#  and cate2 in(403)  
#  group by ID 
#  having count(*)=?? 
#   
#  絞るのにカウント数がT1、T2のチェックレコード数で 
#  可変するので詰まっています。 
#  そもそも、考え方がおかしいのかもしれません。 
#  良い方法をご教示ください。 
#   

'T2で 201、202、を含み 且つ T3で 403 を含む T1のIDレコード' :-
        'T1'(_ID,_DATE,_DATA),
        'T2'(_ID,_cate1),
        '201、202、を含み'(_cate1),
        'T3'(_ID,403),
        writef('%t | %t | %t\n',[_ID,_DATE,_DATA]),
        fail.
'T2で 201、202、を含み 且つ T3で 403 を含む T1のIDレコード'.

'201、202、を含み'(201).
'201、202、を含み'(202).