質問

投稿者:M
登録日:2026年3月5日(木)

マルチセレクト項目を OR 条件(いずれかを含む)で検索する方法について

マルチセレクト項目の検索条件について質問です。 DBの「注意コード(マルチセレクト)」を検索条件に使用しています。 画面側ではチェックボックスで複数選択できるようにしており、 APIの where 条件では以下のように指定しています。 現在の挙動としては、 例)「1」「2」を選択した場合 DB側も「1 と 2 の両方を含むレコード」でないとヒットしない という形になっており、 実質的に AND 条件(すべて含む)での検索になっています。 実現したいこと 選択した値のうち、どれか1つでも含んでいればヒットさせたい(OR 条件) という検索を行いたいです。 例:「1」「2」を選択した場合 → 注意コードに「1」または「2」のどちらかを含むレコードを取得したい 質問 マルチセレクト項目を OR 条件(いずれかを含む)で検索する方法はありますでしょうか? MULTISELECT 以外に利用可能な記法や演算子があればご教示いただきたいです。 where 句の具体例があれば併せて教えていただけると助かります。 よろしくお願いいたします。

phpのwhere条件作成
if (!empty($AttentionCodes)) {
    if (!is_array($AttentionCodes)) {
        $AttentionCodes = [$AttentionCodes];
    }
    $multiSelectStr = implode("','", $AttentionCodes);
    $where .= urlencode(" AND @AttentionCodes = MULTISELECT('" . $multiSelectStr . "')");
}
更新日:2026年3月5日(木)
いいね

コメント

  • ご連絡いただきましてありがとうございます。 マルチセレクト項目をOR検索を行う場合には、「ANYCONTAINS」を使用することで可能です。 OR検索の例につきましては、コードを記載しますので、ご確認ください。 また、APIでの条件式の指定方法につきましては、サポートサイトに記載がございますので、ご確認いただけますと幸いです。 ▼条件式や計算式の記法 > APIにおける指定方法 https://support.spiral-platform.com/api/16.html#API%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E6%8C%87%E5%AE%9A%E6%96%B9%E6%B3%95 ご確認の程、よろしくお願いいたします。

    マルチセレクトの1,2いずれかの値を検索
    // 全体では、「?where= @multiSelect ANYCONTAINS('1','2')」となります。
    // 「@」や「'」などはURLエンコードを行う必要がございます。
    // 下記式は、マルチセレクト項目(@multiSelect)の「1、2いずれかの値を含む」レコード取得を行うコードの抜粋となります。
    
    $where = "?where=";
    $where_value = urlencode("@multiSelect ANYCONTAINS('1','2')");
    $resultRecordListSelect = $commonBase->apiCurlAction("GET", "/apps/". APP_ID. "/dbs/". DB_ID. "/records" . $where . $where_value);
    • いいね
    2026年3月5日(木)
  • M

    ご回答ありがとうございました。 マルチセレクト項目に ANYCONTAINS を使用する方法をご教示いただき、 無事に OR 条件での検索を実現することができました。 大変参考になりました。 ありがとうございました。

    • いいね
    2026年3月5日(木)
  • ご確認いただきましてありがとうございます。 無事解決したとのこと、安心いたしました。 その他ご不明点がございましたら、お気軽にクエスチョンボードをご活用ください。 よろしくお願いいたします。

    • いいね
    2026年3月5日(木)
質問がまとまらない方へ チャットコミュニティで気軽に聞いてみよう! 疑問や課題が整理できていなくても問題ありません。SPIRAL®で解決できる範囲がまだわからなくても質問できます。「ここで聞くと場違いかな?」というお悩みでも歓迎します。
  • Discordで聞く
  • Slackで聞く