このディレクトリの索引
http://pc11.2ch.net/test/read.cgi/db/1252492296/344
#  ID | NAME  | DATA 
#  --+-------+----- 
#   1 | tanaka  | aa 
#   2 | satou   | bb 
#   3 | suzuki  | cc 
#   
#  例えばこんなテーブルがあったときに 
#  IDとNAMEに関してマッチするレコードを 
#  取得するとしたら 
#   
#  WHERE ID = 1 AND NAME = 'tanaka' 
#   
#  としますけど、マッチングの条件が複数あるときって 
#   
#  WHERE (ID = 1 AND NAME = 'tanaka') OR (ID = 2 AND NAME = 'satou') 
#   
#  こんなふうに単純に書くしかないでしょうか? 
#  マッチング条件の対象列がひとつなら 
#   
#  WHERE NAME in ('satou', 'suzuki') 
#   
#  とできますが、複数列の場合にもこういうふうにまとめて書く方法がないかと思いまして・・・ 
# 
# 
テーブル(1,tanaka,aa).
テーブル(2,satou,bb).
テーブル(3,suzuki,cc).

?- テーブル(1,takaka,Z);テーブル(2,satou,Z).

?- findall([X,Y,Z],(member([X,Y],[[1,tanaka],[2,satou]]),テーブル(X,Y,Z)),L).