first_name と last_name を持つ学生テーブルがあります。名または姓で検索を適用すると正しいレコードが得られますが、完全な名前で検索すると何も返されません。これが私のクエリです
SELECT
`student_personal_info`.`spi_id` AS `sid`,
`student_personal_info`.`spi_first_name` AS `fname`
FROM
`student_personal_info`
WHERE
((spi_first_name like '%test developer%') OR (spi_last_name like '%test developer%')
ORDER BY
`spi_first_name` ASC
両方のフィールドの組み合わせで検索可能にする方法はありますか。
ファーストネーム.ミドルネームとラストネームを入力しても記録されますが、ファーストネームとラストネームがミドルネームではない場合は取得されません。
SELECT `student_personal_info`.`spi_id` AS `sid` , `student_personal_info`.`spi_first_name` AS `fname`
FROM `student_personal_info`
WHERE (
spi_scholar_no LIKE '%amir hussain khan%'
)
OR (
CONCAT( spi_first_name, ' ', spi_middle_name, ' ', spi_last_name ) LIKE '%amir hussain khan%'
私もこれを試しましたが、完全一致でのみ機能します。
SELECT `student_parents_info`.`spri_spi_id` AS `sid`
FROM `student_parents_info`
WHERE (MATCH (spri_first_name, spri_middle_name, spri_last_name) AGAINST ('Pramod Kumar Sharma*' IN BOOLEAN MODE ) )
ORDER BY `spri_first_name` ASC
LIMIT 0 , 30
他に提案があれば教えてください。