From 53485960db8e50af20855b755633bb1319590e27 Mon Sep 17 00:00:00 2001 From: Bill Thiede Date: Fri, 28 Mar 2014 20:16:13 -0700 Subject: [PATCH] Use COALESCE instead of CASE for more concise query. --- pg/fill-abook.sql | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pg/fill-abook.sql b/pg/fill-abook.sql index 6ba9f02..f0728e5 100644 --- a/pg/fill-abook.sql +++ b/pg/fill-abook.sql @@ -4,14 +4,8 @@ CREATE TABLE abook (count, name, address) AS SELECT DISTINCT ON(lower(address)) - CASE WHEN - named.count IS NULL THEN 1 - ELSE named.count - END, - CASE WHEN - named.name IS NULL THEN lower(unnamed.address) - ELSE named.name - END, + COALESCE(named.count, 1), + COALESCE(named.name, lower(unnamed.address)), lower(unnamed.address) FROM contact unnamed @@ -26,7 +20,8 @@ LEFT OUTER JOIN ( WHERE name != '' GROUP BY - lower(address), name + lower(address), + name ORDER BY lower(address), count DESC,