sql >> Base de Datos >  >> RDS >> Mysql

Subconsulta MySQL dentro del campo ORDER BY. (sin unión interna)

Realmente no puedo ver una manera de hacerlo directamente usando ORDENAR POR CAMPO.

Sin embargo, me pregunto si podría hacer un JOIN contra la tabla meta y luego ORDENAR POR FIND_IN_SET.

No probé esto, pero con suerte te dará una idea:-

SELECT * 
FROM `categories` 
INNER JOIN meta ON metakey = 'category_order' AND FIND_IN_SET(categories.ID,metavalue)
WHERE `parent` = '0' 
ORDER BY FIND_IN_SET(categories.ID,metavalue)

Posiblemente FIND_IN_SET en JOIN no es necesario