Sql 如果postgres出现问题,是否可以跳过该列
我有一个问题:Sql 如果postgres出现问题,是否可以跳过该列,sql,postgresql,postgresql-9.6,Sql,Postgresql,Postgresql 9.6,我有一个问题: SELECT o.version, o.text, o.id case when language=1 then o.language else [SKIP LANGUAGE COLUMN] end as language FROM books AS o 如果language,是否可以跳过列language=1? 如果language=1,我想得到: 版本|文本| id |语言 否则: version | textt | id |(不含语言栏)“在postgres出现
SELECT o.version, o.text, o.id
case when language=1
then o.language else [SKIP LANGUAGE COLUMN] end as language
FROM books AS o
如果
language,是否可以跳过列language
=1
?
如果language=1,我想得到:
版本|文本| id |语言
否则:
version | textt | id |(不含语言栏)“在postgres出现时,是否可以跳过该栏?”
如果“Skip”的意思是让查询项目在结果集中有不同数量的列,比如@a_horse_,注释了_no_name,no
您可以在else表达式中指定null(或其他值)
case when language=1 then o.language else null end as language
或者如果你想要空值,就把else去掉
case when language=1 then o.language end as language
如果必须投影不同数量的列,则需要执行两个单独的查询。
否则null end
?请回答您的问题,并根据该数据添加一些和预期的输出。请(您的问题-不要在注释中发布代码或其他信息)因此您不希望该列出现在结果集中?大小写表达式将始终返回某个值,可以是定义的值(例如o.language),也可以是空值。SELECT返回固定数量的列,它不会为不同的行返回更多或更少的列。您不能得到每行的列数不同的结果