首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联合时出现Order by hit错误

联合时出现Order by hit错误
EN

Stack Overflow用户
提问于 2012-05-07 16:08:06
回答 3查看 129关注 0票数 0

下面是我的SQL:

代码语言:javascript
复制
SELECT F9_OA008_DT||'|',
DED2(PX_OA008_PAN,'a')||'|',
F9_OA008_MCC||'|',
FX_OA008_MERC_NAME||FX_OA008_MERC_FILLER1||FX_OA008_MERC_CTY||FX_OA008_MERC_FILLER2||FX_OA008_MERC_ST_CNTRY||'|',
F9_OA008_AMT_REQ
FROM OA008 
WHERE F9_OA008_MCC=5542 AND F9_OA008_DT >= 20120501 
UNION
SELECT F9_IB006_DT||'|',
DED2(PX_IB006_PAN,'a')||'|',
F9_IB006_MCC||'|',
FX_IB006_CRD_ACCPT_NAL||'|',
F9_IB006_AMT_REQ
FROM IB006 
WHERE F9_IB006_MCC=5542 AND F9_IB006_DT >= 20120501 
;

当我为第一个SQL添加ORDER BY F9_OA008_DT,为第二个sql添加ORDER BY F9_IB006_DT时,它将命中错误。为什么?错误消息是: ORA-00923:未在预期位置找到FROM关键字。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-07 16:40:21

SQL语句中只能有一个order by子句。

代码语言:javascript
复制
select col1, col2 from tab1
union all
select col3, col4 from tab2
order by 1, 2

注意:"union“执行隐式distinct (因此需要在幕后进行排序)。如果你不需要不同的值,那么使用"union all“。您可以像上面那样使用序号按列的位置顺序进行排序

票数 1
EN

Stack Overflow用户

发布于 2012-05-07 16:16:41

也许您应该为字段设置相同的别名,比如Field1,然后在整个Field1中使用ORDER BY,以便喜欢ORDER BY SQL,而不是为每个子查询单独使用ORDER BY。

票数 0
EN

Stack Overflow用户

发布于 2012-05-07 17:06:53

只有在查询中的F9_OA008_DT和F9_IB006_DT字段都使用这两个字段时,才能对这两个字段应用order by子句。

但是在您的例子中,您并没有在两个sql中使用union连接这些字段。

您可以在第一条sql语句中添加虚拟字段F9_IB006_DT,在第二条sql语句中添加F9_OA008_DT,如下示例所示,然后尝试:

代码语言:javascript
复制
SELECT F9_OA008_DT||'|',
DED2(PX_OA008_PAN,'a')||'|',
F9_OA008_MCC||'|',
FX_OA008_MERC_NAME||FX_OA008_MERC_FILLER1||FX_OA008_MERC_CTY||FX_OA008_MERC_FILLER2||FX_OA008_MERC_ST_CNTRY||'|',
F9_OA008_AMT_REQ,'' as F9_IB006_DT 
FROM OA008 
WHERE F9_OA008_MCC=5542 AND F9_OA008_DT >= 20120501 
UNION
SELECT F9_IB006_DT||'|',
DED2(PX_IB006_PAN,'a')||'|',
F9_IB006_MCC||'|',
FX_IB006_CRD_ACCPT_NAL||'|',
F9_IB006_AMT_REQ, '' as F9_OA008_DT 
FROM IB006 
WHERE F9_IB006_MCC=5542 AND F9_IB006_DT >= 20120501 
order by F9_IB006_DT , F9_OA008_DT
;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10478714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档