我试图改变一个Wordpress搜索查询,以便它返回更广泛的结果。THEN语句在SQL查询中
场景:
有一个在数据库中的帖子输入标题“旋转木马手表”。当我搜索这些词(或两者)时,我会返回帖子,这正是我所期望的。
但是,如果我搜索“Carousel Watch Gift”,我没有得到任何结果。
本次搜索的SQL查询如下:
SELECT SQL_CALC_FOUND_ROWS sosen_posts.ID FROM sosen_posts WHERE 1=1
AND (((sosen_posts.post_title LIKE '%carousel%') OR (sosen_posts.post_content LIKE '%carousel%'))
AND ((sosen_posts.post_title LIKE '%watch%') OR (sosen_posts.post_content LIKE '%watch%'))
AND ((sosen_posts.post_title LIKE '%gift%') OR (sosen_posts.post_content LIKE '%gift%')))
AND (sosen_posts.post_password = '') AND sosen_posts.post_type = 'wp_aff_products' AND (sosen_posts.post_status = 'publish')
ORDER BY
(CASE WHEN sosen_posts.post_title LIKE '%carousel watch gift%'
THEN 1
WHEN sosen_posts.post_title LIKE '%carousel%' AND sosen_posts.post_title LIKE '%watch%' AND sosen_posts.post_title LIKE '%gift%'
THEN 2
WHEN sosen_posts.post_title LIKE '%carousel%' OR sosen_posts.post_title LIKE '%watch%' OR sosen_posts.post_title LIKE '%gift%'
THEN 3
WHEN sosen_posts.post_content LIKE '%carousel watch gift%'
THEN 4 ELSE 5 END), sosen_posts.post_date DESC LIMIT 0, 3
我的问题是:
- 什么查询的一部分阻止返回结果( “Carosuel观察”)?
- 我该如何改变它才能得到结果?
- 最后,
THEN
语句在这个查询中做了什么?它是否在WHERE
声明中设置了要比较的值?
这里没有THEN语句,只有THEN子句。 (和WHERE相同。) – jarlh