SQLタブ
SQL文による検索
ACFinderは SQLite3 データベースライブラリを使用してデータベースファイルを作成しています。SQLite3 の SQL 文を使って独自の検索を行うことができます。
検索はSQLエディタにSQL文を入力し、実行ボタンを押します。簡易な入力支援機能として左側ペインにテーブル名とフィールド名を選択する部分があります。コンボボックスから使用するテーブルを選択し、使用するフィールドにチェックマークを入れ、ポップアップメニュー(右ボタンメニュー)を出すと、SQL文の候補が出ます。使用したいSQL文を選択するとSQLエディタのカーソル位置(選択範囲)に挿入されます。
テーブル名、フィールド名などの詳細はデータベース定義を参照してください。
SQLite3 標準の関数や演算子以外に、ACFinder 用に拡張した SQLも使用可能です。
SQL文の事例
テーブルの内容を全て参照する
登録基本部
SELECT * FROM kihon
登録適用部
SELECT * FROM tekiyo
(登録適用部はデータ件数が多いので時間がかかります)
作物名の一覧を作成する
SELECT DISTINCT sakumotsu FROM tekiyo ORDER BY sakumotsu
農薬通称名と農薬の名称の一覧を検索する
SELECT DISTINCT tsusho,meisho FROM kihon ORDER BY tsusho
農薬通称名は、農薬の名称から屋号(メーカー名)を独自に取り除いたものです。ACFinderの屋号抜き取り処理が正しいかどうか、チェックするなどの用途に使えます。
複数作物の使用時期と使用回数の確認表を作成する
SELECT yoto, shurui, tsusho, MAX(CASE WHEN sakumotsu = 'なす' THEN jiki||'、'||kaisu ELSE '' END) AS なす, MAX(CASE WHEN sakumotsu = 'ピーマン' THEN jiki||'、'||kaisu ELSE '' END) AS ピーマン, MAX(CASE WHEN sakumotsu = 'かぼちゃ' THEN jiki||'、'||kaisu ELSE '' END) AS かぼちゃ, MAX(CASE WHEN sakumotsu = 'オクラ' THEN jiki||'、'||kaisu ELSE '' END) AS オクラ, MAX(CASE WHEN sakumotsu = 'トマト' THEN jiki||'、'||kaisu ELSE '' END) AS トマト, MAX(CASE WHEN sakumotsu = 'すいか' THEN jiki||'、'||kaisu ELSE '' END) AS すいか FROM tekiyo WHERE yoto IN ('殺虫剤','殺菌剤','殺虫殺菌剤') AND hoho = '散布' AND zaikei NOT IN ('粉剤','粒剤') AND sakumotsu IN ('なす','ピーマン','かぼちゃ','オクラ','トマト','すいか') GROUP BY tsusho ORDER BY yoto, shurui, tsusho