我遇到了严重的问题,需要解决方案。
我想从数据库中获取记录。
例如:当我搜索铅笔时,我将获得4条记录,当我搜索铅笔时,我将获得15条记录。
但是,如果要用Pencils或Pencil搜索,我想要15条记录。
这是mysql查询:
SELECT DISTINCT
gc_products.name,
gc_products.*,
LEAST(IFNULL(NULLIF(saleprice, 0), price),
price) AS sort_price
FROM
(`gc_products`)
JOIN
`gc_group_product` ON `gc_group_product`.`product_id` = `gc_products`.`id`
JOIN
`gc_category_products` ON `gc_category_products`.`product_id` = `gc_products`.`id`
JOIN
`gc_categories` ON `gc_categories`.`id` = `gc_category_products`.`category_id`
WHERE
`gc_products`.`enabled` = 1
AND `gc_group_product`.`group_id` = 5
AND (gc_products.name LIKE '%pencils%'
OR gc_products.description LIKE '%pencils%'
OR gc_products.excerpt LIKE '%pencils%'
OR gc_products.sku LIKE '%pencils%')
OR (gc_categories.name LIKE '%pencils%'
OR gc_categories.excerpt LIKE '%pencils%');
希望我能得到答复
谢谢
最佳答案
请检查是否可行
SELECT DISTINCT
gc_products.name,
gc_products.*,
LEAST(IFNULL(NULLIF(saleprice, 0), price),
price) AS sort_price
从
(
gc_products
)加入
gc_group_product
开启gc_group_product
。product_id
= gc_products
。id
加入
gc_category_products
开启gc_category_products
。product_id
= gc_products
。id
加入
gc_categories
开启gc_categories
。id
= gc_category_products
。category_id
哪里
gc_products
。enabled
= 1AND
gc_group_product
。group_id
= 5AND(gc_products.name LIKE CONCAT('%',TRIM(TRAILING BINARY(s')from'pencils'),'%')或gc_products.description LIKE CONCAT('%',TRIM(TRAILING BINARY('s' )FROM'pencils'),'%')或gc_products.excerpt LIKE CONCAT('%',TRIM(TRAILING BINARY(s')FROM'pencils'),'%')或gc_products.sku LIKE CONCAT('% ',TRIM(来自'pencils')的'TRAILING BINARY('s'),'%'))
或(gc_categories.name LIKE CONCAT('%',TRIM(TRAILING BINARY(s')from'pencils'),'%')OR gc_categories.excerpt LIKE CONCAT('%',TRIM(TRAILING BINARY(s' )FROM'pencils'),'%'));