집계 함수 (비용)를 한 번 열에 호출하고 자체 왼쪽 조인 (순열 또는 행 조합 생성에 사용)을 통해 캐스케이드하고 싶습니다. 그런 식으로 O (n) 조인 O (행^조인) 후에 비용을 부과하는 비용을 계산합니다. 다음과 같이 시작하고 싶습니다.자기 집계 함수를 전달하는 집계 함수 열
id | cost
----------
1 | 5
2 | 10
다음과 비슷한 것을하고 싶습니다. 나는
CREATE TEMP TABLE tmp_750309_plans AS (SELECT *, cost(id) as cost FROM plans WHERE plans.id IN (1,2,...));
SELECT * FROM tmp_750309_plans AS t1 LEFT JOIN tmp_750309_plans AS t2 ON ...
내가 할 선호 ... 내가 임시 테이블을 사용하지 않도록하고 싶습니다 임시 테이블에 그 떨어져 있지만 연결하는 선택과 비슷한 할 수있는 일 같은 :
SELECT id, cost(id) as cost FROM plans AS t1
LEFT JOIN t1 AS t2
ON t1.id != t2.id
AND ...
어떤 도움을 크게 감상 할 수 id | cost | id | cost |
-----------------------
1 | 5 |NULL| NULL |
2 | 10 |3 | 15 |
:
이 뭔가를 얻으려면.
cost() 함수는 무엇을하고 있습니까? 당신은 어떤 정보도 제공하지 않습니다. cost() 함수가 테이블에서 오는 입력 매개 변수를 가지고 있다면 두 번째 비용 열은 어떻게 계산됩니까? –
좋아요. 행을 참조 할 수 있도록 "id"를 넣었습니다. – Moriarty
cost()는 1 + 1이 될 수 있습니다. 왼쪽 조인을 통해 열을 계단식으로 배열하는 방법을 알아야합니다. 그것은 일종의 하위 선택입니까? – Moriarty