Postgresql 在select语句中设置值

Postgresql 在select语句中设置值,postgresql,Postgresql,我有两个由其他视图创建的视图A和B(不能使用更新DO的规则)。A和B也有相同的三列text_1、text_2、count。到目前为止,我的SQL看起来像: select A.text_1, A.text_2, COALESCE(b.count,a.count) as count from A left join B on A.text_1 like B.text_1 and A.text_2 like B.text_2; 但我需要另一个规则将count的值设置为0,所有记录中的tex

我有两个由其他视图创建的视图A和B(不能使用更新DO的规则)。A和B也有相同的三列text_1、text_2、count。到目前为止,我的SQL看起来像:

select A.text_1, A.text_2, COALESCE(b.count,a.count) as count 
from A 
   left join B on A.text_1 like B.text_1 and A.text_2 like B.text_2;
但我需要另一个规则将count的值设置为0,所有记录中的text_1与上面select语句的结果中的text_2相似


我使用视图是因为我喜欢使用“创建或替换…”语句

使用
使它更简单,而且从布尔值到整数的转换避免了冗长的
大小写

select
    text_1, text_2,
    coalesce(b.count, a.count) * (not text_1 = text_2)::int as count 
from
    a 
    left join
    b using (text_1, text_2)

使用
使其更简单,从布尔值转换为整数避免了冗长的
大小写

select
    text_1, text_2,
    coalesce(b.count, a.count) * (not text_1 = text_2)::int as count 
from
    a 
    left join
    b using (text_1, text_2)

你是说你想合并更多的值吗?。。像
select coalesce(null,0,null,9,8)
?…也许计数的
CASE
语句会有所帮助?你的意思是要合并更多的值吗?。。像
selectcoalesce(null,0,null,9,8)
?…也许计数的
CASE
语句会有所帮助?