sql >> Databasteknik >  >> RDS >> Mysql

MySQL-underfråga i ORDER BY-fältet. (utan Inner Join)

Jag kan inte riktigt se ett sätt att göra det direkt med ORDER BY FIELD.

Men jag undrar om du kan göra en JOIN mot metatabellen och sedan BESTÄLLA MED en FIND_IN_SET.

Inte testat detta, men förhoppningsvis ger dig idén:-

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)

Möjligen är FIND_IN_SET på JOIN inte nödvändigt



  1. Fjärranslutning till clearDB heroku-databas

  2. Konfigurera MySQL och importera dump i Dockerfile

  3. Hur man upptäcker om ett värde innehåller minst en numerisk siffra i MySQL

  4. Jag vill ta ut resultatet från mysqls connection.query och spara det i global scope chain i nodejs