2014-09-26 1 views
0

Скажем, у меня есть запрос, как этотPSQL - порядок в алфавитном порядке по каждой области

SELECT "contacts".name, "email_addresses".address 
FROM "contacts" 
LEFT JOIN "email_addresses" ON ("contacts"."id" = "email_addresses"."contact_id") WHERE (("contacts"."account_id" = 1) AND ("public" IS TRUE)) 
ORDER BY "contacts"."name", "email_addresses"."address" 

Некоторые из результатов могут иметь нулевые поля имен или нулевые адреса электронной почты, я хочу заказать в алфавитном порядке по роду вычисленной имущества display_name, что заказы по имени, если есть один, и если не по адресу электронной почты, если нет поля имени, так что я не мог получить результаты, как это:

name    | email 
==================================== 
null    | [email protected] 
Ben Jones   | null 
Colin Cowan  | [email protected] 

т.д.

ответ

0

Y ожно использовать функцию COALESCE которая принимает первый не нулевое значение поставляемых параметров:

order by coalesce("contacts"."name","email_addresses"."address") 
+0

да, но что бы еще заказать Бен Джонс выше [email protected] Я ищу способ упорядочивания в алфавитном порядке из комбинированных столбцов. – dagda1

+0

@ dagda1 Сначала он должен поставить «[email protected]»; и это было, когда я пытался. – jpw

+0

Это не результат, я получаю – dagda1

 Смежные вопросы

  • Нет связанных вопросов^_^