【发布时间】:2015-07-20 13:46:42
【问题描述】:
我正在尝试形成一个 PostgreSQL 语句,该语句根据具有给定优先级的电子邮件类型返回客户电子邮件。下面我有一张桌子,上面有顾客 1 和 2。客户 1 拥有个人和公司电子邮件,而客户 2 拥有公司电子邮件。
我要解决的问题是先返回客户的个人电子邮件,如果它首先存在,如果不返回公司。因此,个人电子邮件优先于公司。这在 PostgreSQL 中是否可行?
customers
+------------+
| cusomterID |
+------------+
| 1 |
| 2 |
+------------+
customer_email
+------------+-------------+
| cusomterID | email_type |
+------------+-------------+
| 1 | personal | -- 0
| 2 | company | -- 1
| 1 | company | -- 1
+------------+-------------+
我现在正在尝试的并没有真正起作用。它返回所有行并且不过滤
SELECT *
FROM customers cs
JOIN cumstomer_email cm ON cm.customerId = cs.customreId
WHERE COALESCE(cm.email_type,0) IN (0,1)
【问题讨论】:
标签: sql postgresql amazon-redshift