gpt4 book ai didi

postgresql - 如何在 with 语句中动态生成某个表?

转载 作者:行者123 更新时间:2023-11-29 12:51:21 29 4
gpt4 key购买 nike

在查询中,我想按具有“Foo”、“Bar”、“Baz”等值的列进行排序。我必须以某种方式定义订单。我所做的是像这样创建一个小的临时表:

n     i
'Foo' 1
'Bar' 2
'Baz' 3

我将原始查询中的表与“n”列上的这个表连接起来,然后按“i”列排序。

这行得通。但是我可以不创建临时表而是在 with 语句中动态生成这个表然后使用它吗?我知道 generate_series,但我可以使用它吗?还是有别的办法?

最佳答案

您可以使用 VALUES 子句:

with temp (n,i) as (
values
('Foo',1),
('Bar',2) ,
('Baz',3)
)
select *
from temp
order by i;

你真的不需要 CTE,你也可以将 VALUES 子句放入 FROM 中:

select *
from (
values
('Foo',1),
('Bar',2),
('Baz',3)
) as temp(n,i);

关于postgresql - 如何在 with 语句中动态生成某个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53135319/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com