我正在努力处理我在 PostgreSQL 中的声明。我有 3 个表:
tbl - flags (labeled as a)
a.email
tbl - accounts (labeled as b)
b.id
b.email
tbl - foo (labeled as c)
c.account_id
c.total
我的 sql 语句如下所示:
select a.email, sum(c.total)
from flags a, accounts b, foo c
where a.email = b.email and b.id = c.account_id
此声明有效,但可能有些帐户没有帐户或总金额。嗯,这个说法没有意义,因为里面有好几个a.emails
,flags a
没有任何c.total
记录。还有几个b.emails
在accounts b
,他们在 没有任何记录c.total
。
我想要的输出:email - sum(i.total)
[email protected] 5666
[email protected] 882
[email protected] 23122
[email protected] 0 -- [email protected] doesn’t have account or any total
那么是否可以检查帐户中是否存在与标志相比的记录?如果是,让我们提示 total amount 如果不是,让我们提示0
。