2014-12-24 31 views
0
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 

我得到一个错误说:的MySQL应用的 “ORDER BY” 子句UNION查询

MSP_NM是无效的列

我该如何解决这个问题的查询,也为了通过MSP_NM

+0

这看起来更像是SQL Server的语法,而不是MySQL,标识符周围的方括号以及对“dbo”,“ALTER PROCEDURE”语句的引用... – spencer7593

回答

0

我认为这是最好使用子查询为此:

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'报价,你可能不运行子查询的查询 - 我只是觉得子查询阐明意图。

+0

yesyes我最近将其更改为number to varchar hopin ppl了解,谢谢你先生,问题解决... – user3921882