このディレクトリの索引
http://toro.2ch.net/test/read.cgi/db/1316769778/706
#  Oracleです 
#   
#  テーブルA 
#  列a,列b,列c 
#   
#  テーブルB 
#  列m,列n 
#   
#  テーブルC 
#  列s,列t 
#   
#  WHERE 
#  列b=列s or (列c=列m and 列n=列s) 
#   
#  で全列出力したいんですけど列b=列sでマッチすると列Bが全レコード結合されてしまいます 
#  前者でマッチした時は列mと列nは出力しないようにしたいです 
#  AとCは基本的に全列出力されるので、Bだけを条件によって出力されなかったりするJOINって作れますか 
# 
# 

'列b=列sでマッチした時は列mと列nは出力しないようにしたい。AとCは基本的に全列出力されるので、Bだけを条件によって出力されなかったりするJOIN'([_列a,_列b,_列c,_列s,_列t]) :-
        _列b = _列s,
        テーブルA(_列a,_列b,_列c),
        テーブルC(_列s,_列t).
'列b=列sでマッチした時は列mと列nは出力しないようにしたい。AとCは基本的に全列出力されるので、Bだけを条件によって出力されなかったりするJOIN'([_列a,_列b,_列c,_列m,_列n,_列s,_列t]) :-
        _列c = _列m,
        _列n = _列s, 
        テーブルA(_列a,_列b,_列c),
        テーブルB(_列m,_列n),
        テーブルC(_列s,_列t).