このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/db/1274791771/590
#  似たような質問なんですが  
#  すべてのカラムに対してそれぞれではなく、複数まとめて検索したい場合は  
#  どうするのでしょうか?  
#   
#  イメージ的には複数のフィールドを取り出してくっつけて1文にして  
#  それにXXX and YYY で検索する感じです  
#   
#  実はすごく簡単なような気もするんですが  
#  全部取り出してくっつけたものを、この検索のためのフィールドに入れておく  
#  くらいしか思いつきません  
#   
#  name address   tel   ・・・・  
#  ------------------------------  
#  itouYYY XXXZZZ 0123-4567  
#  itouZZZ YYYYFF 1234-0123  
#  hanaXXX LLLZZZ XXXX-XXXX  
#   
#  で、(itouYYY XXXZZZ 0123-4567 …)が欲しい  
#   
# 
# 
:- op(750,xfx,and).

'すべてのカラムに対してそれぞれではなく、複数まとめて検索したい場合は'(_テーブル名,_検索文字列1 and _検索文字列2,L) :-
        findall(_,テーブル定義(_テーブル名,_id,_属性名),L),
        P =.. [_テーブル名|L],
        call(P),
        concat_atom(L,S),
        sub_atom(S,_,_,_,_検索文字列1),
        sub_atom(S,_,_,_,_検索文字列2).