我想缩短这个postgresql查询,这样我就不需要重复多次“coalesce(gl.email,mc.email)。。。
select r.*,l.*, coalesce(r.email, l.email)
from righttable r full outer join lefttable l on r.email=l.email
where coalesce(r.email, l.email) > 'h'
order by coalesce(r.email, l.email) limit 10
2条答案
按热度按时间3b6akqbq1#
你可以加入一个
using
条款:根据文件:
这个
USING
子句是一种简写形式,它允许您利用联接的两个边对联接列使用相同名称的特定情况。此外,输出
JOIN USING
抑制冗余列:不需要打印两个匹配的列,因为它们必须具有相等的值。而JOIN ON
从生成所有列T1
后面是来自的所有列T2
,JOIN USING
为每个列出的列对(按列出的顺序)生成一个输出列,后跟T1
,后跟T2
.uelo1irk2#
这是对我有效的解决方案。。。
我连续重复这个select查询。
在每个连续的请求中,我将last\u read\u email\u address的值设置为上一个结果集中的最终合并电子邮件地址。
很简单。