このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/db/1274791771/587
#  下のようなカラムがあるのですが、value1〜3に1回でも出てくる値を 
#  重複なく取得したいのですが、うまくSQLで書けるものでしょうか。 
#  key, value1, valu2, value3(value1〜3は任意の文字列) 
#   
#  たとえば、3個のレコード 
#  1, AAA, BBB, CCC 
#  2, DDD, AAA, CCC 
#  3, EEE, FFF, AAA 
#  があった場合、AAA, BBB, CCC, DDD, EEE, FFFを出力したいです。 
# 
# 
% table(_key,_value1,_value2,_value3).

table(1,'AAA','BBB','CCC').
table(2,'DDD','AAA','CCC').
table(3,'EEE','FFF','AAA').

'tableのvalue1〜3に1回でも出てくる値を重複なく取得したい' :-
        'tableのvalue1〜3に1回でも出てくる値を重複なく取得したい'(L),
        append(_,[X|R],L),
        write_formatted('%t\n',[X]),
        R = [].

'tableのvalue1〜3に1回でも出てくる値を重複なく取得したい'(L) :-
        findsetof(_value,(
                    table(_,_value1,_value2,_value3),
                    append(_,[_value|_],[_value1,_value2,_value3])),
                  L).