在主查询中过滤子查询的值

时间:2020-04-01 18:10:01

标签: sql postgresql

假设我有以下查询:

for (int i=0;i<size;i++)
{
  (*(cplxOut+i)).real(*(reals+i));
  (*(cplxOut+i)).imag(*(imags+i));
}

执行此操作时,最终得到2个名为select *, case when x in ('x','y','z',...) then 'X' end as value_x from( select *, case when condition1 = true case when field2 == 'xxxx' then substr(field2, 0, 2) when field2 == 'yyyy' then substr(field2, 0, 2) when field2 == 'yxyx' then substr(field2, 0, 2) ... end end as value_x from table) as subquery; 的列。有什么方法可以用IN函数过滤value_x而不用在每种情况下都使用它?在很多情况下,它确实会使查询膨胀。

无法更改查询子查询结构,因为有许多情况下使用子查询中的值来创建新列,这是我第一次必须更新子查询中的一个列,而我只能使用value_x语句。

我正在使用PostgreSQL。

0 个答案:

没有答案