Files
email-tracker/external/duckdb/test/sql/pivot/pivot_storage.test
2025-10-24 19:21:19 -05:00

73 lines
1.3 KiB
SQL

# name: test/sql/pivot/pivot_storage.test
# description: Test storage of views with pivots
# group: [pivot]
# load the DB from disk
load __TEST_DIR__/pivot_storage.db
statement ok
PRAGMA enable_verification
statement ok
CREATE OR REPLACE TABLE monthly_sales(empid INT, amount INT, month TEXT);
statement ok
INSERT INTO monthly_sales VALUES
(1, 10000, 'JAN'),
(1, 400, 'JAN'),
(2, 4500, 'JAN'),
(2, 35000, 'JAN'),
(1, 5000, 'FEB'),
(1, 3000, 'FEB'),
(2, 200, 'FEB'),
(2, 90500, 'FEB'),
(1, 6000, 'MAR'),
(1, 5000, 'MAR'),
(2, 2500, 'MAR'),
(2, 9500, 'MAR'),
(1, 8000, 'APR'),
(1, 10000, 'APR'),
(2, 800, 'APR'),
(2, 4500, 'APR');
statement ok
CREATE VIEW v1 AS SELECT *
FROM monthly_sales
PIVOT(SUM(amount) FOR MONTH IN ('JAN', 'FEB', 'MAR', 'APR'))
AS p
ORDER BY EMPID;
statement ok
CREATE MACRO pivot_macro(val)
as TABLE SELECT *
FROM monthly_sales
PIVOT(SUM(amount + val) FOR MONTH IN ('JAN', 'FEB', 'MAR', 'APR'))
AS p
ORDER BY EMPID;
query IIIII
FROM v1;
----
1 10400 8000 11000 18000
2 39500 90700 12000 5300
query IIIII
FROM pivot_macro(1);
----
1 10402 8002 11002 18002
2 39502 90702 12002 5302
restart
query IIIII
FROM v1;
----
1 10400 8000 11000 18000
2 39500 90700 12000 5300
query IIIII
FROM pivot_macro(1);
----
1 10402 8002 11002 18002
2 39502 90702 12002 5302