Sql 既然“orderby”在视图定义中不起作用,我们如何在db2视图中对数据进行排序?

Sql 既然“orderby”在视图定义中不起作用,我们如何在db2视图中对数据进行排序?,sql,view,db2,syntax-error,sql-order-by,Sql,View,Db2,Syntax Error,Sql Order By,由于ORDER BY在create view语法中不起作用,我们如何对结果数据进行排序? 我尝试了如下的子选择: CREATE VIEW RZKHTNI.VIEW2 (EMPNO, FIRSTNAME, LASTNAME) AS SELECT * FROM (SELECT EMPNO, FIRSTNME, LASTNAME FROM DSN8910.EMP ORDE

由于ORDER BY在create view语法中不起作用,我们如何对结果数据进行排序? 我尝试了如下的子选择:

CREATE VIEW RZKHTNI.VIEW2         
(EMPNO, FIRSTNAME, LASTNAME)      
AS SELECT * FROM                               
(SELECT EMPNO, FIRSTNME, LASTNAME  
FROM DSN8910.EMP                  
ORDER BY EMPNO DESC)
但我得到了一个错误:

SQLCODE=-104,错误:非法符号。一些符号 可能合法的有:相关名称


那么,有人知道如何对视图结果进行排序吗

这对我来说很管用:

$cat 1.sql 创建视图RZKHTNI.VIEW2 EMPNO,FIRSTNAME,LASTNAME 从中选择* 选择EMPNO、FIRSTNME、LASTNAME 来自DB2INST1.EMP 由EMPNO DESC订购; $db2-tvf 1.sql 创建视图RZKHTNI.VIEW2 EMPNO,FIRSTNAME,LASTNAME作为SELECT*从SELECT EMPNO,FIRSTNME,LASTNAME从DB2INST1.EMP按EMPNO DESC顺序创建 DB20000I SQL命令已成功完成。
如果要对结果进行排序,则需要在使用该视图的查询中按排序。请按照错误消息中的建议添加相关名称。比如语句末尾的T。请注意,如果您在没有order by子句的情况下从此视图中选择,则引擎可能不会对结果集进行排序。换句话说,在这种情况下,排序操作可能会以静默方式删除。请记住,这并不能保证从RZKHTNI.VIEW2中选择任何内容的结果将以任何特定顺序返回。只有最外层的SELECT中的ORDER BY才能保证这一点。