关于MySQL和PostgreSQL中的子查询

nao*_*ide 6 mysql postgresql

当我使用MySQL时,以下查询运行干净.

SELECT 1 as num1, (select(num1 + 1)) as num2
Run Code Online (Sandbox Code Playgroud)

但是PostgreSQL正在返回一个错误.

ERROR: column "num1" does not exist
Run Code Online (Sandbox Code Playgroud)

为什么它的反应不同?

Gir*_*ish 3

你应该使用PostgreSQL语法,因为PgSql不支持这种方式的子查询,试试这个

WITH tblcontent AS (SELECT 1 as num1)
SELECT num1, num1 + 1 AS num2 from tblcontent
Run Code Online (Sandbox Code Playgroud)