このディレクトリの索引
http://pc11.2ch.net/test/read.cgi/db/1252492296/521
#  販売集計処理について教えてください。 
#  商品テーブル 
#  商品名 販売本数 
#  ─── ──── 
#  お菓子 
#  お弁当 
#  飲み物 
#   
#  販売履歴テーブル 
#  商品名 
#  ─── 
#  商品テーブルの各商品が、販売履歴テーブルに何件ずつあるかを集計し、 
#  商品テーブルの販売本数に記録させたいと思っております(日次処理)。 

販売履歴(飲み物).
販売履歴(お菓子).
販売履歴(お弁当).
販売履歴(お菓子).
販売履歴(お菓子).
販売履歴(飲み物).
販売履歴(お弁当).
販売履歴(お弁当).

販売集計処理 :-
  一意な商品名ならびを得る(L),
  商品テーブルに追加(L).

一意な商品名ならびを得る(L) :- setof(_商品名,販売履歴(_商品名),L).

商品テーブルに追加([]) :- !.
商品テーブルに追加([_商品名|R]) :-
  count(販売履歴(_商品名),_販売本数),
  assertz(商品(_商品名,_販売本数)),
  商品テーブルに追加(R). 販売履歴(飲み物).