我想實作這樣的東西。
WITH
t1 AS (
SELECT a, b, c, d, e, f
FROM tbl
WHERE a = 1
LIMIT 1
),
t2 (g, h, i) AS (
SELECT b, c, d
FROM t1
),
t3 (j, k, l) AS (
VALUES (t2.g, t2.h, t2.i),
(t2.g 1, t2.h - 10, t2.i 10),
(t2.g 1, t2.h - 20, t2.i 20)
)
SELECT j, k, l
FROM t3
一切正常,除了在 VALUES 中使用 t2
uj5u.com熱心網友回復:
使用UNION ALL:
...,
t3 (j, k, l) AS (
SELECT t2.g, t2.h, t2.i FROM t2
UNION ALL
SELECT t2.g 1, t2.h - 10, t2.i 10 FROM t2
UNION ALL
SELECT t2.g 1, t2.h - 20, t2.i 20 FROM t2
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451174.html
標籤:sql PostgreSQL
