should be it
This commit is contained in:
45
external/duckdb/test/sql/merge/merge_into_subquery.test
vendored
Normal file
45
external/duckdb/test/sql/merge/merge_into_subquery.test
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# name: test/sql/merge/merge_into_subquery.test
|
||||
# description: Test MERGE INTO with subqueries
|
||||
# group: [merge]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE Totals(item_id int, balance int);
|
||||
|
||||
statement ok
|
||||
CREATE TABLE Buy(item_id int, volume int);
|
||||
|
||||
statement ok
|
||||
INSERT INTO Buy values(10, 1000), (30, 300), (20, 2000);
|
||||
|
||||
query I
|
||||
MERGE INTO Totals USING (VALUES (10), (30)) Updates(item_id) ON Totals.item_id = Updates.item_id
|
||||
WHEN MATCHED THEN UPDATE SET balance = (SELECT SUM(volume) FROM Buy WHERE item_id=Totals.item_id)
|
||||
WHEN NOT MATCHED THEN INSERT VALUES (Updates.item_id, (SELECT SUM(volume) FROM Buy WHERE item_id=Updates.item_id));
|
||||
----
|
||||
2
|
||||
|
||||
query II
|
||||
FROM Totals ORDER BY ALL
|
||||
----
|
||||
10 1000
|
||||
30 300
|
||||
|
||||
statement ok
|
||||
INSERT INTO Buy values(10, 2000)
|
||||
|
||||
query I
|
||||
MERGE INTO Totals USING (VALUES (10), (20)) Updates(item_id) ON Totals.item_id = Updates.item_id
|
||||
WHEN MATCHED THEN UPDATE SET balance = (SELECT SUM(volume) FROM Buy WHERE item_id=Totals.item_id)
|
||||
WHEN NOT MATCHED THEN INSERT VALUES (Updates.item_id, (SELECT SUM(volume) FROM Buy WHERE item_id=Updates.item_id));
|
||||
----
|
||||
2
|
||||
|
||||
query II
|
||||
FROM Totals ORDER BY ALL
|
||||
----
|
||||
10 3000
|
||||
20 2000
|
||||
30 300
|
||||
Reference in New Issue
Block a user