首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在排序时,postgres忽略了"-“

在排序时,postgres忽略了"-“
EN

Stack Overflow用户
提问于 2015-03-12 07:21:42
回答 1查看 37关注 0票数 1

我正在整理这些值。波斯特格斯忽略了"-“。以下是我的查询:

代码语言:javascript
复制
select 0 as key, 
       '------ select ------' as value 
union 
SELECT contact_replica_child.contact_id as key,
       contact_replica_child.last_name||', '||contact_replica_child.first_name as value 
FROM contact_replica_child 
  join listing_replica_child on contact_replica_child.administrative_agency_id = listing_replica_child.agency_id 
where listing_replica_child.session_id = '3edfa73687a53604a50708d3d5d90221' 
order by value ;

我明白了:

代码语言:javascript
复制
  key   |          value          
--------+-------------------------
 581489 | Contact, Administrative
 581490 | Green, Kelley
      0 | ------ select ------

我期待着:

代码语言:javascript
复制
  key   |          value          
--------+-------------------------
      0 | ------ select ------
 581489 | Contact, Administrative
 581490 | Green, Kelley

有解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-12 07:28:15

虽然我必须承认我不明白为什么Postgres是这样做的,但是您可以轻松地将order by子句限制在第二个查询中,使用括号:

代码语言:javascript
复制
SELECT    0 AS key, '------ select ------' AS value 
UNION ALL
(SELECT   contact_replica_child.contact_id AS key,
          contact_replica_child.last_name || ',' ||  contact_replica_child.first_name AS value 
 FROM     contact_replica_child 
 JOIN     listing_replica_child ON 
          contact_replica_child.administrative_agency_id = 
          listing_replica_child.agency_id
 WHERE    listing_replica_child.session_id = '3edfa73687a53604a50708d3d5d90221' 
 ORDER BY value
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29003958

复制
相关文章

相似问题

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