GBase8s数据库对 STANDARD 或 RAW 结果表排序

当 SELECT INTO Table 子句定义要存储查询的结果的永久表时,那个子句中的任何非平凡的列表

达式还必须为新创建的结果表中相应的列声明别名。要指定那一列作为结果表的排序键,ORDER

BY 子句还必须引用相同的别名,而不是指定非平凡的列表达式。

例如,在下列嵌套查询中,tab56 是结果表的标识符,且 tab56_col0 是子查询在 Projection 子句

中定义的非平凡的列表达式的别名。ORDER BY 子句指定相同的子查询作为排序键,而不是通过

它的别名引用那个非平凡的列:

SELECT ( SELECT tab54.tab54_col7 tab56_col0

FROM tab54

WHERE (tab54.tab54_col7 = -1423023 )

) tab56_col0,

“” tab56_col1

FROM tab57

WHERE tab57.tab57_col1 == -6296233

ORDER BY (

SELECT tab54.tab54_col7 tab56_col0

FROM tab54

WHERE (tab54.tab54_col7 = -1423023 )

) NULLS FIRST,2 NULLS FIRST

INTO tab56;

在正常的 SELECT 语句中,在 ORDER BY 子句中指定非平凡的列表达式是可接受的,但在对一

由 SELECT INTO Table 子句创建了的结果表进行排序的 ORDER BY 子句中是不可接受的。在上

述示例中,数据库服务器返回 SQL 错误 -19828。

要避免此错误,必须修改上述示例,将非平凡的列表达式从 ORDER BY 子句移除,以它的别名取

代那个表达式:

SELECT ( SELECT tab54.tab54_col7 tab56_col0

FROM tab54

WHERE (tab54.tab54_col7 = -1423023 )

) tab56_col0,

“” tab56_col1

FROM tab57

WHERE tab57.tab57_col1 == -6296233

ORDER BY

tab56_col0 – Substituted alias for column expression in result table)

NULLS FIRST,2 NULLS FIRST

INTO tab56;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值