当我在其中有子查询而没有任何排序时,我需要mysql查询来显示顺序 查询我正在使用的
SELECT * FROM attributes WHERE AttributesID IN (SELECT AttributesID
FROM processattributes WHERE ProcessID = 166)
结果我得到如下
ID NAME
218 AA-Delays
219 AA-Internal
220 AA-External Errors
应该按以下方式获取
ID Name
219 AA-External Errors
220 AA-Internal
218 AA-Delays
由于子查询正确返回219 220 218
但最终未正确,请在查询中提供帮助
答案 0 :(得分:0)
内部选择不会以garantied方式返回数据。所以你必须定义你想要的顺序。您可以加入,然后定义这样的订单(但我不知道您想要对另一个表中的哪一列进行排序)
SELECT a.*
FROM attributes a
JOIN processattributes p on p.AttributesID = a.AttributesID
WHERE p.ProcessID = 166
ORDER BY <some column in table processattributes>