sql >> データベース >  >> RDS >> Mysql

特定の状況でこのSQLが結果を返すようにするにはどうすればよいですか?

    ANDの一部をORに変更してから、ORを括弧で囲む必要があります。

    現在、$ Vehicle MATCHの1つと、両方が必要です。 $keywordの一致。代わりに、$Vehicleまたはのいずれかを要求したいと思います。 $keywordが一致します。

    また、$keywordの一致を1つのMATCH呼び出しに組み合わせることができると思いますね。そして、T.truck_numberに対するLIKEチェックは、その列を含むMATCHを考えると冗長だと思います。この場合、SQLのそのセクションを次のように記述できます。

     AND (MATCH( T.truck_number, T.make, T.model, T.engine, T.vin_number,
          T.transmission_number, T.comments) AGAINST( '$vehicle' )
         OR MATCH( P.part_num, P.part_desc, P.part_ref,M.comments, M.work_done) 
         AGAINST( '$keywords' ))
    

    また、作成した動的SQLをエスケープすることにより、SQLインジェクションから身を守ることについての義務的なコメントを含めます。




    1. MySQL-MINを検索しますが、ゼロは検索しません

    2. 行INSERTのシーケンスを更新します

    3. PostgreSQLを使用して過去24時間からレコードを選択する方法

    4. C#/ Oracle:クエリのエンコーディング/文字セットを指定しますか?