sql - 如果指定了 SELECT DISTINCT,则 ORDER BY 项必须出现在选择列表中

标签 sql sql-server tsql

我将选择列表中的列添加到排序依据列表中,但它仍然给出错误:

如果指定了 SELECT DISTINCT,ORDER BY 项必须出现在选择列表中。

这是存储过程:

CREATE PROCEDURE [dbo].[GetRadioServiceCodesINGroup] 
@RadioServiceGroup nvarchar(1000) = NULL
AS
BEGIN
SET NOCOUNT ON;

SELECT DISTINCT rsc.RadioServiceCodeId,
                rsc.RadioServiceCode + ' - ' + rsc.RadioService as RadioService
FROM sbi_l_radioservicecodes rsc
INNER JOIN sbi_l_radioservicecodegroups rscg 
ON rsc.radioservicecodeid = rscg.radioservicecodeid
WHERE rscg.radioservicegroupid IN 
(select val from dbo.fnParseArray(@RadioServiceGroup,','))
OR @RadioServiceGroup IS NULL  
ORDER BY rsc.RadioServiceCode,rsc.RadioServiceCodeId,rsc.RadioService

END

最佳答案

试试这个:

ORDER BY 1, 2

或者

ORDER BY rsc.RadioServiceCodeId, rsc.RadioServiceCode + ' - ' + rsc.RadioService

关于sql - 如果指定了 SELECT DISTINCT,则 ORDER BY 项必须出现在选择列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/265628/

相关文章:

sql - 如何加密 SQL Server 2008 数据库

sql-server - SQL 选择错误和输出

python - 如何使用 Windows 身份验证通过 sqlalchemy 连接到 SQL Server?

SQL Server 仅允许每种类型中的一种为 True

sql-server - 在 MS SQL Server 2005 中获取日期的周数?

Sql - goto 语句

sql - Rails 3 在没有模型的情况下执行自定义 SQL 查询

sql - 从一组范围计算并发性

php - 将图像信息导入数据库时​​出现问题

sql - 读取 XML 列