Use COALESCE instead of CASE for more concise query.

This commit is contained in:
Bill Thiede 2014-03-28 20:16:13 -07:00
parent 8f03a8072a
commit 53485960db

View File

@ -4,14 +4,8 @@ CREATE TABLE
abook (count, name, address) abook (count, name, address)
AS SELECT AS SELECT
DISTINCT ON(lower(address)) DISTINCT ON(lower(address))
CASE WHEN COALESCE(named.count, 1),
named.count IS NULL THEN 1 COALESCE(named.name, lower(unnamed.address)),
ELSE named.count
END,
CASE WHEN
named.name IS NULL THEN lower(unnamed.address)
ELSE named.name
END,
lower(unnamed.address) lower(unnamed.address)
FROM FROM
contact unnamed contact unnamed
@ -26,7 +20,8 @@ LEFT OUTER JOIN (
WHERE WHERE
name != '' name != ''
GROUP BY GROUP BY
lower(address), name lower(address),
name
ORDER BY ORDER BY
lower(address), lower(address),
count DESC, count DESC,