SQLの質問があります。以下のSELECTステートメントでは、太字で強調表示した部分を除いて、すべて正常に機能します。私がやろうとしているのは、ユーザーがデータベース内の特定のルールを検索できるようにすることです。残念ながら、実際にはRule列がないため、特定のフィールド値を連結して、ユーザーの検索テキストと比較するための文字列を作成する必要があります。
太字の部分が機能しない理由はありますか?理論的には、このステートメントで、文字列 "Rule" + part_num(part_numはpart_numフィールドに含まれる値)がsearchtextの値(searchtextの値はPHPスクリプトから取得されます)と等しいかどうかを確認したいと思います。
私はSQLの目的で文字列を連結することについていくつかの調査を行いましたが、どれも法案に適合しないようです。誰か提案がありますか?
SELECT id,
part_num,
part_title,
rule_num,
rule_title,
sub_heading_num,
sub_heading,
contents
FROM rules
WHERE part_title LIKE "%'.$searchtext.'%"
OR rule_title LIKE "%'.$searchtext.'%"
OR sub_heading LIKE "%'.$searchtext.'%"
OR contents LIKE "%'.$searchtext.'%"
OR "rule" + part_num LIKE "%'.$searchtext.'%" --RULE PLUS PART_NUM DOESN'T WORK
ORDER BY id;