====== SQLタブ ====== {{:image:ac_tab_sql.png|SQLタブ}} ===== SQL文による検索 ===== ACFinderは [[https://www.sqlite.org/|SQLite3]] データベースライブラリを使用してデータベースファイルを作成しています。[[https://www.javadrive.jp/sqlite/select/|SQLite3 の SQL 文]]を使って独自の検索を行うことができます。\\ 検索はSQLエディタにSQL文を入力し、実行ボタンを押します。簡易な入力支援機能として左側ペインにテーブル名とフィールド名を選択する部分があります。コンボボックスから使用するテーブルを選択し、使用するフィールドにチェックマークを入れ、ポップアップメニュー(右ボタンメニュー)を出すと、SQL文の候補が出ます。使用したいSQL文を選択するとSQLエディタのカーソル位置(選択範囲)に挿入されます。 テーブル名、フィールド名などの詳細は[[technote:dbdef|データベース定義]]を参照してください。 SQLite3 標準の関数や演算子以外に、[[technote:sqlex|ACFinder 用に拡張した SQL]]も使用可能です。 {{:image:ac_tab_sql_main.png|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