本文介绍了如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这很好用
SELECT DISTINCT SED.MCSED_SED_Short_Description,SCH.Doc_SNo,
FROM @ Schedule_Status SCH,DMS_M_Company_Schedule_Element_Details SED
WHERE SED.MCSED_SED_Code = 123
ORDER BY SED.MCSED_SED_Short_Description,SCH.Doc_SNo,SCH.Doc_No
但是,当我按顺序引入case表达式时,它显示错误
SELECT DISTINCT SED.MCSED_SED_Short_Description,SCH.Doc_SNo,
FROM @ Schedule_Status SCH,DMS_M_Company_Schedule_Element_Details SED
WHER E SED.MCSED_SED_Code = 123
ORDER BY CASE SED.MCSED_SED_Short_Description WHEN ' VD' THEN 1 ELSE 2 END ,
SCH.Doc_SNo,SCH.Doc_No
它显示错误如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中。
解决方案
Hi,
This works fine
SELECT DISTINCT SED.MCSED_SED_Short_Description, SCH.Doc_SNo, FROM @Schedule_Status SCH , DMS_M_Company_Schedule_Element_Details SED WHERE SED.MCSED_SED_Code =123 ORDER BY SED.MCSED_SED_Short_Description, SCH.Doc_SNo, SCH.Doc_No
But when i introduce case expression in order by clause it shows the error
SELECT DISTINCT SED.MCSED_SED_Short_Description, SCH.Doc_SNo, FROM @Schedule_Status SCH , DMS_M_Company_Schedule_Element_Details SED WHERE SED.MCSED_SED_Code =123 ORDER BY CASE SED.MCSED_SED_Short_Description WHEN 'VD' THEN 1 ELSE 2 END, SCH.Doc_SNo, SCH.Doc_No
it shows the error "ORDER BY items must appear in the select list if SELECT DISTINCT is specified."
解决方案
这篇关于如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!