Postgresql 在select语句中设置值
我有两个由其他视图创建的视图A和B(不能使用更新DO的规则)。A和B也有相同的三列text_1、text_2、count。到目前为止,我的SQL看起来像: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
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
语句会有所帮助?