Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 伪IF/Case帮助_Sql_Postgresql_If Statement_Case Statement - Fatal编程技术网

Sql 伪IF/Case帮助

Sql 伪IF/Case帮助,sql,postgresql,if-statement,case-statement,Sql,Postgresql,If Statement,Case Statement,运行PostgreSQL 7.x(是的,我正在升级) 问题是: 如果没有返回数据,我需要设置三到四个字段 我在想这样的事情 SELECT CASE WHEN default_field IS NULL THEN field_1 = 'blah', field_2 = 'foo', field_3 = 'bar' ELSE field_1,field_2,field_3 END 我该怎么做呢 所以考虑一个IF条件 如果其他字段得到这些值,否则返回的值保持

运行PostgreSQL 7.x(是的,我正在升级)

问题是:

如果没有返回数据,我需要设置三到四个字段

我在想这样的事情

SELECT CASE
       WHEN default_field IS NULL THEN field_1 = 'blah', field_2 = 'foo', field_3 = 'bar'
       ELSE field_1,field_2,field_3
       END
我该怎么做呢

所以考虑一个IF条件


如果其他字段得到这些值,否则返回的值保持原样

我只需要独立地拼写3个case语句

SELECT CASE WHEN default_field IS NULL THEN 'blah' ELSE field_1 END AS field_1,
       CASE WHEN default_field IS NULL THEN 'foo' ELSE field_2 END AS field_2,
       CASE WHEN default_field IS NULL THEN 'bar' ELSE field_3 END AS field_3
...

我只是独立地解释这3个案例陈述

SELECT CASE WHEN default_field IS NULL THEN 'blah' ELSE field_1 END AS field_1,
       CASE WHEN default_field IS NULL THEN 'foo' ELSE field_2 END AS field_2,
       CASE WHEN default_field IS NULL THEN 'bar' ELSE field_3 END AS field_3
...