Mysql SQL按另一个表中的值对表中的行进行排序

Mysql SQL按另一个表中的值对表中的行进行排序,mysql,Mysql,我正在运行此查询以从admin表中选择行,其中display\u on\u on\u website值在admin\u meta表中为1 SELECT a.sequence as sequence, CONCAT(a.forename, ' ', a.surname) as name, a.position as position FROM

我正在运行此查询以从
admin
表中选择行,其中
display\u on\u on\u website
值在
admin\u meta
表中为1

SELECT 
                a.sequence as sequence, 
                CONCAT(a.forename, ' ', a.surname) as name, 
                a.position as position 
            FROM 
                admin a, admin_meta am 
            WHERE 
                a.disabled = '' AND 
                a.sequence = am.user AND 
                am.field = 'display_on_website' AND 
                am.value = '1' 

我在
admin\u meta
表中为每个用户设置了一行
website\u order
-如何按此值排序?

您需要加入
admin\u meta
表两次,一次获取
display\u on\u on\u website
值,另一次获取
website\u order

SELECT a.sequence, CONCAT(a.forename, ' ', a.surname) AS name, a.position
FROM admin AS a
JOIN admin_meta AS m1 on a.sequence = m1.user
JOIN admin_meta AS m2 ON a.sequence = m2.user
WHERE a.disabled = ''
AND am1.field = 'display_on_website' AND am1.value = '1'
AND am2.field = 'website_order'
ORDER BY CAST(am2.value AS DECIMAL)

orderbyam.website\u ORDER
?几十年过去了,谁/哪里还在教授或鼓励这种可怕的逗号连接语法?(“恐怖”不是对你的批评,只是语法本身。)这行不通,因为这将是另一个SELECT查询来为每个用户获取该值。我不明白你为什么需要另一个SELECT,你说是一列
am
。向我们显示数据库模式、示例数据和预期输出。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。你看了整个问题,让我们看起来很糟糕