SQL自定义排序问题 SELECT AC_moduleInf.moduleName,AC_moduleInf.moduleId
FROM AC_accessControl INNER JOIN
AC_moduleInf ON AC_accessControl.moduleId = AC_moduleInf.moduleId INNER JOIN
AC_rightGroup ON AC_accessControl.rightGroupId = AC_rightGroup.rightGroupId INNER JOIN
AC_userInf ON AC_accessControl.rightGroupId = AC_userInf.rightGroupId
结果是
如何写排序能使结果变成
------最佳解决方案-------------------- 把order by 写死就行了
order by case AC_moduleInf.moduleId when 'AreaMarketingPlanManage' then 1 when 'BillManage' then 2 when 'InStorageManage' then 3 when 'SendGoodsManage' then 4 when 'GetGoodsManage' then 5 when 'ReturnBillManage' then 6 else 7 end ------其他解决方案-------------------- 求解答 ------其他解决方案-------------------- AC_moduleInf 表中添加一个排序列,设定顺序即可。 ------其他解决方案-------------------- 假设你只对这些数据排序,那可以搞一个小表,1列是id,一列是图里面的modulename,然后把你希望的顺序写入这个表,再关联你上面的查询,order 不用这个小表的id即可。 ------其他解决方案--------------------