ACFinder 病害虫タブの検索方法

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

なし ACFinder 病害虫タブの検索方法

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012.08.17 16:01 | 最終変更
OhYeah!  管理人   投稿数: 987 オンライン
先日、現地活動の際にいちごの採苗床でチャノキイロアザミウマの被害を確認しました。いちごではチャノキイロアザミウマで登録されている農薬は存在せず、アザミウマ類で登録されている農薬も少ないので、作物タブはあまり役に立ちません。病害虫タブでも、チャノキイロアザミウマで検索された農薬通称をひとつひとつ右クリックして薬剤タブで確認しなければならず、かなり面倒です。
しょうがないので、対象病害虫が「チャノキイロアザミウマ,アザミウマ類」で登録されている農薬の内、対象作物が「いちご,野菜類」の農薬をピックアップする下記のような SQL で農薬を検索しました。
select * from vTsushoTekiyo where sakumotsu in ('いちご', '野菜類') and tsusho in (select distinct tsusho from tekiyo where byochu in ('チャノキイロアザミウマ', 'アザミウマ類'))


マイナークロップでは、目的の病害虫に登録のある農薬が存在しない場合が多々ありますが、その作物に登録のある農薬の内、他の作物では目的とする病害虫に登録がある場合が少なからずあります。
病害虫タブは、このようなケースで農薬を検索しやすくするために設置したものです。対象作物を絞り込み条件とするのではなく、下記のように、対象病害虫で検索した農薬から、対象病害虫に関係なく指定作物に登録のある農薬を抽出するように変更してもらうと、とても使いやすくなると思います。

前準備
DROP TABLE IF EXISTS tByochu;
CREATE TEMP TABLE tByochu AS SELECT byochu FROM m_byochu WHERE CONCAT('、', byochu, betsumei) MATCH '%病害虫検索語%';
DROP TABLE IF EXISTS ttTekiyoByochu;
CREATE TEMP TABLE ttTekiyoByochu AS SELECT * FROM tekiyo WHERE bango IN (SELECT bango FROM m_tekiyo WHERE byochu IN (SELECT byochu FROM tByochu) OR mokuteki IN (SELECT byochu FROM tByochu));
SELECT DISTINCT sakumotsu FROM ttTekiyoByochu ORDER BY sakumotsu;


病害虫での検索結果(実際にはビューで必要項目のみ表示)
SELECT * FROM ttTekiyoByochu WHERE byochu IN (SELECT byochu FROM tByochu) OR mokuteki IN (SELECT byochu FROM tByochu);


作物名指定時の検索結果(実際にはビューで必要項目のみ表示)
SELECT * FROM ttTekiyoByochu WHERE sakumotsu IN (選択作物リスト);
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ