Mysql
 sql >> Database >  >> RDS >> Mysql

Sottoquery MySQL all'interno del campo ORDER BY. (senza unione interna)

Non riesco davvero a vedere un modo per farlo direttamente usando ORDER BY FIELD.

Tuttavia mi chiedo se potresti fare un JOIN contro la meta table e poi ORDER BY a FIND_IN_SET.

Non l'ho testato, ma si spera che ti dia l'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)

Forse il FIND_IN_SET su JOIN non è necessario