-1
如果我把它放在一個查詢文件中,PG將如何處理它?pg承諾在查詢文件中支持WITH子句嗎?
WITH regional_sales AS (
SELECT region, SUM(amount) AS total_sales
FROM orders
GROUP BY region
), top_regions AS (
SELECT region
FROM regional_sales
WHERE total_sales > (SELECT SUM(total_sales)/10 FROM regional_sales)
)
SELECT region,
product,
SUM(quantity) AS product_units,
SUM(amount) AS product_sales
FROM orders
WHERE region IN (SELECT region FROM top_regions)
GROUP BY region, product;
是否需要使用WITH?我想有以下使用情況下,
SELECT * FROM balance WHERE bank_id = 1 FOR UPDATE
(強制所有銀行ID 1的記錄被鎖定)
SELECT * FROM balance WHERE bank_id = 1 AND amount = 500
(先手與銀行id爲1,但仍排確保所有銀行的ID記錄1被鎖定`
感謝您的答覆,我無法找到任何使用WITH子句和pg promise的人的例子。在你看來,WITH子句可以完全避免嗎? – Zanko
@Zanko您的問題與「pg-promise」無關。在GitHub上有很多例子,開發人員通過'pg-promise'執行'WITH'查詢,這些查詢又相互無關。 –