我有一张桌子:

CREATE TABLE nums (
    num INTEGER NOT NULL
);

INSERT INTO nums VALUES(0);
INSERT INTO nums VALUES(1);
INSERT INTO nums VALUES(2);

我将其用作LEFT OUTER JOIN的左侧,以确保在链接到缺少行的表时获得NULL或零结果.

如何在生成子查询中生成N个数字(从零开始),以便删除此表?

推荐答案

您可以使用generate_series从开始到停止生成一系列值,步长为(默认为1):

GENERATE_SELING(开始整数,停止整数[,步长整数])→ 整型集合

SELECT * 
FROM generate_series(0,2);

Postgresql相关问答推荐

PostgreSQL权限如何工作?需要从表格中 Select 收件箱

在PostGreSQL中获取最近日期的项目

Gorm 中的更新将created_at、updated_at 作为默认时间

我想优化查询SQL

需要用 jack/pgx 更新 golang 中复合类型的 PSQL 行

气流数据库如何定期管理?

是否可以短时间运行 VACUUM FULL 并获得一些好处?

从dump文件中恢复三张表遇到的问题

pgadmin db 限制服务器属性不起作用

当我写 SELECT ~1;在 Postgresql 上它给了我 -2 结果.这是什么原因?它一直持续〜4和-5等

表或列名不能以数字开头?

将 Postgres 与 Grails 一起使用

更新列或列或列时触发触发

statement_date列是日期类型,但表达式是整数类型

SQL数据库表中的多态性?

如何判断每个组中是否存在值

SQL 基本类型:integer vs int?

每个数据库提供程序类型允许的最大参数数是多少?

如何使用 PostgreSQL 触发器来存储更改(SQL 语句和行更改)

从 5 分钟前的表中获取行