Re: 作物タブの成分1~5

このトピックの投稿一覧へ

なし Re: 作物タブの成分1~5

msg# 1.3.3.1.2
depth:
4
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2014.02.15 21:36 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
view の変更で対応するなら、seibun1..seibun5 を「総使用回数における有効成分」に変更するより、有効成分と総使用回数における有効成分が異なる場合のみ、回数の方に総使用回数における有効成分を表示するのが最も問題が少ない解法かもしれません。view を下記のように変更しても、タイムコストはかからないようです。
view の変更にあわせて、tSeibun の生成方法も変更しています。また、「メタラキシル及びメタラキシルM」のような長い総使用回数における有効成分は、「メタラキシル(M)」と簡略化しています。

これにより、たとえば「きゅうり」の「フォリオゴールド」の「回数1」は、「メタラキシル(M): 4回以内(種子への処理は1回以内、は種後は3回以内)」と表示されます。「回数2」は TPN なので「10回以内(土壌灌注は2回以内、散布及びくん煙及びエアゾル剤の噴射は合計8回以内)」と総使用回数における有効成分は表示されません。

--/d
begin transaction;
drop table if exists tSeibun;
create temp table tSeibun as select distinct ippanmei, seibun from seibun where ippanmei != seibun;
update tSeibun set seibun = re_replace('.*及び([A-Z\-]+)(.*)', seibun, '(\1)\2') where seibun regexp '及び[A-Z]+';
update tSeibun set seibun = re_replace('.*及び(.*?)([A-Z\-]+)', seibun, '\1(\2)') where seibun regexp '及び.*?[A-Z]+';
commit;

drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
seibun1, keito1, concat(': ', (select seibun from tSeibun where ippanmei = seibun1), kaisu1) as kaisu1, mid1,
seibun2, keito2, concat(': ', (select seibun from tSeibun where ippanmei = seibun2), kaisu2) as kaisu2, mid2,
seibun3, keito3, concat(': ', (select seibun from tSeibun where ippanmei = seibun3), kaisu3) as kaisu3, mid3,
seibun4, keito4, concat(': ', (select seibun from tSeibun where ippanmei = seibun4), kaisu4) as kaisu4, mid4,
seibun5, keito5, concat(': ', (select seibun from tSeibun where ippanmei = seibun5), kaisu5) as kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ