두 개의 입력이있는 PL/pgSQL 저장 프로 시저를 작성해야합니다.
첫 번째 입력은 타임 스탬프 세트를 반환하는 select로 이동해야합니다.중첩 된 쿼리에서 결과 집합을 반환하는 PostgreSQL 함수
이러한 반환 된 타임 스탬프를 사용하여 두 번째 선택을 반복합니다. 두 번째 선택은 함수의 두 번째 입력을 받아 루프 반복에서 수집해야하는 단일 행을 반환합니다. 그런 다음 두 번째 선택의 출력을 어셈블하고 결과 집합으로 반환합니다.
FUNCTION (Input A B)
SELECT FROM T1 WHERE X = A INTO RS1.
LOOP VAL OVER RS1
Select FROM T2 WHERE Y = B AND Z = VAL INTO RS2
END LOOP
RETURN ASSEMBLED RS2
누구나 내가 일할 수있는 작업 뼈대를 가리킬 수 있습니까? 설명서에서 필요한 관련 부분은 무엇입니까? 내가 필요가 있다고 생각 :
RETURNS TABLE() AS
그냥 사용하려고 첫 번째 쿼리의 결과
왜 'join'을 사용하여 간단한 쿼리를 사용하면 쉽게이 작업을 수행 할 수 있습니까? –
글쎄, 문제는 하나의 select가 when 절에서 <=를 사용하여 IN을 사용하지 못하게한다는 것입니다. 나는 그렇지 않다는 것을하지 않는다. – JohnDoe
'JOIN'은 실제로'IN'과 관련이 없다 - 더 많은 내용을 읽을 수있다. (http://www.postgresql.org/docs/current/static/tutorial -join.html) – pozs