このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/db/1316769778/230
#  ・DBMS名とバージョン 
#  oracle11g 
#   
#  ・テーブルデータ 
#  userテーブル 
#   
#  id  int 
#  name varchar 
#   
#  ・欲しい結果&説明 
#  idを外からバインド変数で渡し、 
#  IDが一致するレコードと、 
#  その一致したレコードとnameが一致するレコードの2レコードを取得したいです。 
#   
#  例) 
#  バインド変数:1 
#  id  name 
#  1   aaa 
#  2   bbb 
#  3        aaa 
#  idが1と3のレコードを抽出したいです。 
#   
#  自己結合して1レコードとして取得することはできるのですが2レコード取得する方法が思いつきません。 
#  宜しくお願いします。 
#   
# 
# 

'idを外からバインド変数で渡し、IDが一致するレコードと、その一致したレコードとnameが一致するレコードの2レコードを取得したい'(_外からのバインド変数,_IDが一致するレコード,_その一致したレコードとnameが一致するレコード) :-
       userテーブル(_外からのバインド変数,_name),
       userテーブル(_id,_name),
       \+(_id = _外からのバインド変数),
       _IDが一致するレコード = [_外からのバインド変数,_name],
       _その一致したレコードとnameが一致するレコード = [_id,_name].