-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'查询,这些查询又相互无关。 –