2017-10-26 1 views

답변

4

그냥 ID 작업과 함수 호출의 외부 소스를 떠나 :

select xxx(id) 
from mytable where ...; 

업데이트를 downvoter을 위해 : 당신은 인수로 하위 쿼리를 전달할 수 없습니다 행동 here

+1

ID로 함수를 호출하고 싶습니다. 그래서 Select를 사용하여이 함수를 호출합니다. – Fla

+1

와우 실제로 그것이 그것이 작동하는 방식입니다, 미안 해요. 정말 선택이 먼저 이루어져야한다고 생각했습니다. 고맙습니다! – Fla

1

에서 볼. 한 가지 방법은 LATERAL JOIN을 사용하는 것입니다 : 당신이 기본 테이블 및 하위 쿼리 사이에 어떤 상관 관계를해야 할 경우

SELECT xxx(s.id) 
FROM table t1 
LEFT JOIN LATERAL (select id from mytable where ... order by ... limit 1) s 
    ON true; 

이 유용합니다.


하나의 값만 경우 :

SELECT xxx(s.id) 
FROM (subquery) s; 

이하 응답합니다.

+0

나는 그것이 평범한 것을 알지 못했다. 흥미 롭다. 여기서 'table t1'이 무엇인지, 왜 'ON true'가 필요한지를 말씀해 주시겠습니까? – Fla

+0

@Fla 나는 어떤 종류의 중첩 된 하위 쿼리가 필요하다고 생각했습니다. – lad2025

+0

좋아요, 그래서 그것을 반복 할 수 있습니다. 하지만 내 하위 쿼리는 간단합니다. 그렇기 때문에 아래의 대답이 효과가 있습니다. 나는 정말 그 선택이 먼저 이루어져야한다고 생각했다. 나쁘다. 어쨌든 고맙습니다. – Fla

관련 문제