Mysql
 sql >> Base de données >  >> RDS >> Mysql

Wordpress Search Métadonnées sérialisées avec requête personnalisée

Vous ne pouvez pas utiliser d'alias de colonne dans votre clause WHERE -- de plus, dans certains cas, ces expressions sont toujours évaluées à TRUE, donc je ne vois pas du tout pourquoi il y en a.

Vous voulez peut-être dire :

SELECT SQL_CALC_FOUND_ROWS 
_posts.ID
,MID(
   CAST(_postmeta.meta_value AS CHAR),
   POSITION(';s:6:\"weight' IN CAST(_postmeta.meta_value AS CHAR) ),
   10
) AS dres  
FROM _posts 
INNER JOIN _postmeta ON (_posts.ID = _postmeta.post_id)
WHERE 1=1
AND _posts.post_type = 'dog' AND _posts.post_status = 'publish'
AND _postmeta.meta_key = '_meta_general'
AND POSITION(';s:6:\"weight' IN CAST(_postmeta.meta_value AS CHAR)) > 0
GROUP BY dres ORDER BY _postmeta.meta_value ASC LIMIT 0, 10