このディレクトリの索引

% 以下のサイトは # 出典::MySQL 総合 Part19 #173 # 質問させてください # selectしたデータを一部だけ別のテーブルに入れる方法ってありますか? # # 例:insert into table2 (aaa,bbb,ccc) select aaa as aaa,bbb as bbb,ccc as ccc from table1 # この場合table1のデータがすべてtable2に入るのでaaaだけ別のデータを入れたいと思っています。 # よろしくお願いします。 # # :- dynamic(table2/3). 海に接していない都道府県名([栃木県,群馬県,埼玉県,山梨県,長野県,岐阜県,滋賀県,奈良県]). table1(東京都,1000,aa). table1(埼玉県,2000,ab). table1(新潟県,3000,ac). table1(奈良県,2000,ad). selectしたデータを一部だけ別のテーブルに入れる方法 :- 海に接していない都道府県名(_海に接していない都道府県名ならび), selectしたデータを一部だけ別のテーブルに入れる方法(_海に接していない都道府県名ならび) :- forall(( table1の海に接している都道府県名を海に接していない都道府県名に置き換える(_海に接していない都道府県名ならび,_都道府県名の二,_bbb,_ccc), assertz(table2(_都道府県名の二,_bbb,_ccc))). table1の海に接している都道府県名を海に接していない都道府県名に置き換える(_海に接していない都道府県名ならび,_都道府県名の二,_bbb,_ccc) :- table1(_都道府県名の一,_bbb,_ccc), 新しい都道府県名の生成(_海に接していない都道府県名ならび,_都道府県名の一,_都道府県名の二). 新しい都道府県名の生成(_海に接していない都道府県名ならび,_都道府県名の一,_都道府県名の一) :- 都道府県名の一が海に接していない場合はそのまま(_海に接していない都道府県名ならび,_都道府県名の一),!. 新しい都道府県名の生成(_海に接していない都道府県名ならび,_都道府県名の一,_都道府県名の二) :- 'table2に未出の都道府県名を_海に接していない都道府県名ならび から得る'(_海に接していない都道府県名ならび,_都道府県名の二),!. 都道府県名の一が海に接していない場合はそのまま(_海に接していない都道府県名ならび,_都道府県名の一) :- member(_都道府県名の一,_海に接していない都道府県名ならび),!. 'table2に未出の都道府県名を_海に接していない都道府県名ならび から得る'(_海に接していない都道府県名ならび,_都道府県名の二) :- 海に接していない都道府県名から_aaaを一つ選択する(_海に接していない都道府県名ならび,R,_aaa), 'table2に未出の都道府県名を_海に接していない都道府県名ならび から得る'(_海に接していない都道府県名ならび,R,_aaa,_都道府県名の二). 海に接していない都道府県名から_aaaを一つ選択する(_海に接していない都道府県名ならび,R,_aaa) :- 乱数を得る(_海に接していない都道府県名ならび,_乱数), nth1(_乱数,_海に接していない都道府県名ならび,_aaa), select(_aaa,_海に接していない都道府県名ならび,R). 乱数を得る(_海に接していない都道府県名ならび,_乱数) :- length(_海の接していない都道府県名ならび,_要素数), _要素数 > 0, _乱数 is random(_要素数) + 1, 'table2に未出の都道府県名を_海に接していない都道府県名ならび から得る'(_海に接していない都道府県名ならび,R,_都道府県名の二,_都道府県名の二) :- table2にその都道府県名は未出である(_都道府県名の二),!. 'table2に未出の都道府県名を_海に接していない都道府県名ならび から得る'(_海に接していない都道府県名ならび,R,_都道府県名の一,_都道府県名の二) :- 新しい都道府県名の生成(R,_都道府県名の一,_都道府県名の二). table2にその都道府県名は未出である(_都道府県名の二) :- \+(table2(_都道府県名の二,_,_)).