2017-09-13 5 views
-1

이것을 하나의 쿼리 파일에 넣으면 어떻게 처리 할 것인가?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

pg-promise 같이 당신의 SQL은 단순히 서버에 보내기로 만들어진 무슨 상관하지 않습니다. 잘못된 귀하의 질문에 무관하게

을 ... /.

+0

감사합니다 응답을, I 어떤 것도 찾을 수 없다. pg promise로 WITH 절을 사용하는 사람들의 예. 귀하의 의견으로는 WITH 절을 완전히 피할 수 있습니까? – Zanko

+0

@ Zanko 당신의 질문은''pg-promise''와는 아무런 관련이 없습니다. 그리고 GitHub에서 개발자들이'pg-promise'를 통해'WITH' 쿼리를 실행하는 예제가 많이 있습니다.이 쿼리는 다시 서로 관련이 없습니다. –