should be it
This commit is contained in:
63
external/duckdb/test/sql/pivot/pivot_prepare.test
vendored
Normal file
63
external/duckdb/test/sql/pivot/pivot_prepare.test
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# name: test/sql/pivot/pivot_prepare.test
|
||||
# description: Test preparing pivot statements
|
||||
# group: [pivot]
|
||||
|
||||
statement ok
|
||||
CREATE OR REPLACE TABLE monthly_sales(empid INT, amount INT, month TEXT);
|
||||
|
||||
statement ok
|
||||
INSERT INTO monthly_sales VALUES
|
||||
(1, 10000, '1-JAN'),
|
||||
(1, 400, '1-JAN'),
|
||||
(2, 4500, '1-JAN'),
|
||||
(2, 35000, '1-JAN'),
|
||||
(1, 5000, '2-FEB'),
|
||||
(1, 3000, '2-FEB'),
|
||||
(2, 200, '2-FEB'),
|
||||
(2, 90500, '2-FEB'),
|
||||
(1, 6000, '3-MAR'),
|
||||
(1, 5000, '3-MAR'),
|
||||
(2, 2500, '3-MAR'),
|
||||
(2, 9500, '3-MAR'),
|
||||
(1, 8000, '4-APR'),
|
||||
(1, 10000, '4-APR'),
|
||||
(2, 800, '4-APR'),
|
||||
(2, 4500, '4-APR');
|
||||
|
||||
statement ok
|
||||
PREPARE v1 AS SELECT *
|
||||
FROM monthly_sales
|
||||
PIVOT(SUM(amount + ?) FOR MONTH IN ('1-JAN', '2-FEB', '3-MAR', '4-APR'))
|
||||
AS p
|
||||
ORDER BY EMPID;
|
||||
|
||||
query IIIII
|
||||
EXECUTE v1(0)
|
||||
----
|
||||
1 10400 8000 11000 18000
|
||||
2 39500 90700 12000 5300
|
||||
|
||||
# expressions in pivot
|
||||
query IIIII
|
||||
EXECUTE v1(1)
|
||||
----
|
||||
1 10402 8002 11002 18002
|
||||
2 39502 90702 12002 5302
|
||||
|
||||
# prepare top-level pivot stmt
|
||||
statement ok
|
||||
PREPARE v2 AS
|
||||
PIVOT monthly_sales ON MONTH USING SUM(AMOUNT + ?)
|
||||
|
||||
query IIIII rowsort
|
||||
EXECUTE v2(1)
|
||||
----
|
||||
1 10402 8002 11002 18002
|
||||
2 39502 90702 12002 5302
|
||||
|
||||
# parameters within subquery of top-level pivot statement not supported
|
||||
statement error
|
||||
PREPARE v3 AS
|
||||
PIVOT (SELECT empid, amount + ? AS amount, month FROM monthly_sales) ON MONTH USING SUM(AMOUNT)
|
||||
----
|
||||
cannot have parameters in their source
|
||||
Reference in New Issue
Block a user