【问题标题】:Does pg promise support WITH clause in query file?pg 是否承诺支持查询文件中的 WITH 子句?
【发布时间】:2017-09-13 13:23:31
【问题描述】:

如果我把它放在一个查询文件中,pg promise 将如何处理它?

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(强制锁定所有bank id 1记录)

SELECT * FROM balance WHERE bank_id = 1 AND amount = 500(只获取银行 ID 为 1 的行,但仍确保所有银行 ID 记录 1 都已锁定`

【问题讨论】:

    标签: pg-promise


    【解决方案1】:

    pg-promise 不关心您的 SQL 是由什么组成的,只需将其按原样发送到服务器即可。

    ...这使您的问题无关/无效。

    【讨论】:

    • 感谢您的回复,我只是找不到任何使用 WITH 子句和 pg 承诺的人的例子。在您看来,可以完全避免 WITH 子句吗?
    • @Zanko 您的问题与pg-promise 无关。在 GitHub 上可以找到很多示例,其中开发人员通过 pg-promise 执行 WITH 查询,这又是彼此无关的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    相关资源
    最近更新 更多