Tips : メモ検索
Written on
メモ内容から検索 #
メモの検索 #
通常メモ内容は memo カラムに格納されています。
故に以下のSQLで参照ができます。
SELECT * FROM list_view WHERE memo LIKE '%ほげ%';
しかし、メモ読込遅延をONに設定すると、list_view でメモを有するアイテムの memo カラムには一律 1
が格納されます。
メニュー → オプション → 全体設定 → 動作関係タブの「メモ読込遅延(ミリ秒)」を1以上にするとONです
この状態で上記のSQLを実行しても memo カラムには 1
しかありませんので期待した結果が得られません。
読込遅延ONでも正しくメモを検索するには、メモが格納されている本来の memo_table を対象に検索します。
具体的には以下のようにサブクエリで一致するプライマリキーを抽出する感じで良いと思います。
SELECT * FROM list_view WHERE file_name IN (
SELECT pfile_mm FROM memo_table WHERE memo LIKE '%ほげ%'
);
読込遅延OFFでしか使用しない場合は最初に示したSQLのほうが軽いと思います。
memo_table のプライマリキーが pfile_mm となっています。
natural join が動作しない時の遺物ですが後を考えて file_name にしておけばと反省です(汗
marm.nakamura