このディレクトリの索引
http://toro.2ch.net/test/read.cgi/db/1343899481/885
#  t1 
#  ID    KEY    HOGE 
#  ----------------------- 
#  1     a      5 
#  1     b      7 
#  2     a      5 
#  2     b      8 
#  3     a      4 
#  3     b      4 
#  4     b      9 
#  4     d      2 
#   
#  t2 
#  ID    KEY    PIYO 
#  ----------------------- 
#  1     a      7 
#  1     b      1 
#  1     c      1 
#  1     d      5 
#  2     a      2 
#  2     c      8 
#  3     a      7 
#  4     c      6 
#   
#  t3 
#  ID    KEY    NYAN 
#  ----------------------- 
#  1     d      5 
#  2     a      5 
#  2     d      7 
#  3     b      4 
#  3     c      3 
#  3     d      2 
#  4     d      7 
#  5     b      1 
#   
#  こういう3つのテーブルから 
#  t1で KEY a b を 
#  t2で KEY c を 
#  t3で KEY d且つNYAN 5以上を持っているID1と2のみを取り出したいのですがどうすればいいでしょうか 
# 
# 

't1
ID    KEY    HOGE
-----------------------
1     a      5
1     b      7
2     a      5
2     b      8
3     a      4
3     b      4
4     b      9
4     d      2

t2
ID    KEY    PIYO
-----------------------
1     a      7
1     b      1
1     c      1
1     d      5
2     a      2
2     c      8
3     a      7
4     c      6

t3
ID    KEY    NYAN
-----------------------
1     d      5
2     a      5
2     d      7
3     b      4
3     c      3
3     d      2
4     d      7
5     b      1

こういう3つのテーブルから 
t1で KEY a b を 
t2で KEY c を 
t3で KEY d且つNYAN 5以上を持っているID1と2のみを取り出したい'(_ID) :-
        こういう3つのテーブルから(_ID,_KEY_1,_HOGE_1,_KEY_2,_PIYO_2,_KEY_3,_NYAN_3),
        't1で KEY a b を'(_ID,_KEY_1),
        't2で KEY c を'(_ID,_KEY_2),
        't3で KEY d且つNYAN 5以上を'(_ID,_KEY_3,_NYAN_3),
        'ID1と2のみを取り出したい'(_ID).

こういう3つのテーブルから(_ID,_KEY_1,_HOGE_1,_KEY_2,_PIYO_2,_KEY_3,_NYAN_3) :-
        t1(_ID,_KEY_1,_HOGE_1),
        t2(_ID,_KEY_2,_PIYO_2),
        t3(_ID,_KEY_3,_NYAN_3).

't1で KEY a b を'(_ID,_KEY_1) :-
        member(_KEY_1,[a,b]).

't2で KEY c を'(_ID,_KEY_2) :-
        _KEY_2 = c.

't3で KEY d且つNYAN 5以上を'(_ID,_KEY_3,_NYAN_3) :-
        _KEY_3 = d,
        _NYAN_3 >= 5.

'ID1と2のみを取り出したい'(_ID) :-
        member(_ID,[1,2]).