ALTER PROCEDURE [dbo].[SP_GET_DDLPage]
AS
BEGIN
SELECT NULL AS 'ID', '--None--' AS 'DSC'
UNION
SELECT MSP_NM AS 'ID', MSP_TITLE AS 'DSC'
FROM MST_PAGE
WHERE MSP_STS = ACTIVE ORDER BY MSP_NM
END
我收到一条错误消息:
MSP_NM is an invalid column
如何修复此查询并按 MSP_NM
订购?
最佳答案
我认为最好使用子查询:
SELECT *
FROM (SELECT NULL AS ID, '--None--' AS DSC
UNION ALL
SELECT MSP_NM AS ID, MSP_TITLE AS DSC
FROM MST_PAGE
WHERE MSP_STS = 'ACTIVE'
) t
ORDER BY ID;
您需要在 'ACTIVE' 周围加上引号
,并且您可能可以在没有子查询的情况下运行查询 - 我只是认为子查询澄清了意图。
关于MySQL 将 "ORDER BY"子句应用于 UNION 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27630546/