apex表格格式的oracle order by date子句

apex表格格式的oracle order by date子句,oracle,plsql,sql-order-by,oracle-apex,tabular-form,Oracle,Plsql,Sql Order By,Oracle Apex,Tabular Form,我有一个oracle apex表格,带有以下区域查询 select APEX_ITEM.DATE_POPUP2(1,sysdate,'DD-MM-YYYY') DIV_DATE, APEX_ITEM.TEXT(2,null ,10,15,'style="width:100px;text-align:right"') CREDIT from dual union select APEX_ITEM.DATE_POP

我有一个oracle apex表格,带有以下区域查询

select APEX_ITEM.DATE_POPUP2(1,sysdate,'DD-MM-YYYY') DIV_DATE, 
       APEX_ITEM.TEXT(2,null ,10,15,'style="width:100px;text-align:right"') CREDIT 
   from dual 
                             union 
select APEX_ITEM.DATE_POPUP2(1,DIV_DATE,'DD-MM-YYYY') DIV_DATE,
       APEX_ITEM.TEXT(2,CREDIT,10,15,'style="width:100px;text-align:right"') CREDIT
   from DIVIDENT_REG
   where code=:MCODE and memno=:MEMNO and brcode=:BRCODE
   order by  DIV_DATE desc
我想要以DIV_DATE列的顺序显示结果。但是上面的ORDERBY条款不起作用。所以我用了密码

order by to_date(DIV_DATE) desc
但它显示了一个错误

ORA-01785:ORDER BY item必须是选择列表表达式的编号

有人有办法解决这个问题吗

编辑:我无法选择

select div_date,credit from(    
select APEX_ITEM.DATE_POPUP2(1,sysdate,'DD-MM-YYYY') DIV_DATE, 
       APEX_ITEM.TEXT(2,null ,10,15,'style="width:100px;text-align:right"') CREDIT 
   from dual 
                             union 
select APEX_ITEM.DATE_POPUP2(1,DIV_DATE,'DD-MM-YYYY') DIV_DATE,
       APEX_ITEM.TEXT(2,CREDIT,10,15,'style="width:100px;text-align:right"') CREDIT
   from DIVIDENT_REG
   where code=:MCODE and memno=:MEMNO and brcode=:BRCODE
   order by  DIV_DATE desc    )
由于它将删除我的apex_项目的属性,请尝试以下操作:

SELECT   TB.*
    FROM (SELECT APEX_ITEM.DATE_POPUP2 (1,
                                        SYSDATE,
                                        'DD-MM-YYYY') DIV_DATE,
                 APEX_ITEM.TEXT (2,
                                 NULL,
                                 10,
                                 15,
                                 'style="width:100px;text-align:right"')
                                                                       CREDIT
            FROM DUAL
          UNION
          SELECT APEX_ITEM.DATE_POPUP2 (1,
                                        DIV_DATE,
                                        'DD-MM-YYYY') DIV_DATE,
                 APEX_ITEM.TEXT (2,
                                 CREDIT,
                                 10,
                                 15,
                                 'style="width:100px;text-align:right"')
                                                                       CREDIT
            FROM DIVIDENT_REG
           WHERE CODE = :MCODE
                 AND MEMNO = :MEMNO
                 AND BRCODE = :BRCODE) TB
ORDER BY TB.DIV_DATE DESC

这些选项中有任何一个会有帮助吗

首先,
ORDER BY 1 DESC
,其中“1”表示查询返回的第一列:

select APEX_ITEM.DATE_POPUP2(1,sysdate,'DD-MM-YYYY') DIV_DATE, 
       APEX_ITEM.TEXT(2,null ,10,15,'style="width:100px;text-align:right"') CREDIT 
from dual 
union 
select APEX_ITEM.DATE_POPUP2(1,DIV_DATE,'DD-MM-YYYY') DIV_DATE,
       APEX_ITEM.TEXT(2,CREDIT,10,15,'style="width:100px;text-align:right"') CREDIT
from DIVIDENT_REG
where code=:MCODE and memno=:MEMNO and brcode=:BRCODE
order by 1 desc;
或者,使用“原始”查询作为内联视图,然后按DIV_日期“正常”排序:

select div_date, credit
from (select APEX_ITEM.DATE_POPUP2(1,sysdate,'DD-MM-YYYY') DIV_DATE, 
             APEX_ITEM.TEXT(2,null ,10,15,'style="width:100px;text-align:right"') CREDIT 
      from dual 
      union 
      select APEX_ITEM.DATE_POPUP2(1,DIV_DATE,'DD-MM-YYYY') DIV_DATE,
             APEX_ITEM.TEXT(2,CREDIT,10,15,'style="width:100px;text-align:right"') CREDIT
      from DIVIDENT_REG
      where code=:MCODE and memno=:MEMNO and brcode=:BRCODE
     )
order by div_date desc;

按1排序不起作用。我不能选择第二个查询,因为它将删除apex的属性_item@Nidheesh
我没有建议按1下单
。你可以知道我贴的东西是否有效对不起,我的错误。我不能选择第二个查询,因为它将删除apex的属性_item@Nidheesh你试过了吗?还是你的假设。理想情况下,您发布的查询在您的案例中应该运行良好。不知道为什么它对你不起作用。我尝试了这个,我只是在我的页面中复制了这个,结果是-日期字符串被转换成字符类型,并按字符日期字符串的降序排序。顺序我不能选择这个查询,因为它将删除apex_项的属性“order BY 1 DESC”对我有效;我刚刚在apex.oracle.com(apex 5.1.3)上试用过;你用哪个版本?我希望你一切都好;只是你的表格形式很顽固:)你是怎么创建这个页面的?再次尝试从头开始创建它,这样它就不会包含任何附加设置。然后,如果你让它工作,添加任何你认为合适的。经常测试,以便在必要时恢复更改。确定。。让我再试一次。目前,我得到的结果是日期字符串的降序,它被转换为字符类型。Aha。在这种情况下,在SELECT中包含其他列:第一个列中的SYSDATE(别名为DIV_DATE),第二个列中的DIV_DATE。选择不显示它们(将它们设置为隐藏),然后按DIV_DATE DESC排序-只要DIVIDENT_REG.DIV_DATE列是日期数据类型,就可以了。