2014-11-13 3 views
1

여기에서 두 개의 테이블 중에서 최대 값을 선택해야합니다. 어떻게해야합니까?오라클에서 두 가지 최대 기능을 선택하는 방법

select t_order_demand.customer_name, 
max(t_order_log.seq) as "seq", 
max(t_order_log.extern_order_status) as "extern" 
from t_order_demand,t_order_log 
where t_order_demand.order_id=t_order_log.order_id 
and t_order_demand.order_id like '%88%' 
group by t_order_log.seq,t_order_log.extern_order_status,t_order_demand.customer_name; 

결과 서열의 열은 1이며, 나는 단지 그들이 한 고객 이름, 일 최대 서열 1 명 최대를 표시하려면이 통근 0과 2가 두 고객 이름이 존재한다 : 여기 내 오라클 코드는 통근자. 그러나 어떻게? 도와주세요. 또한 명시 적으로 사용하도록 변경

답변

0

당신은 당신이

작동
SELECT * FROM (
    select t_order_demand.customer_name, 
    max(t_order_log.seq) as "seq", 
    max(t_order_log.extern_order_status) as "extern" 
    from t_order_demand 
    JOIN t_order_log 
    ON t_order_demand.order_id=t_order_log.order_id 
    and t_order_demand.order_id like '%88%' 
    group by t_order_demand.customer_name 
) WHERE ROW_NUM =1 
+0

, 감사 설정이 중 단 하나 개의 고객을 원하는 경우

select t_order_demand.customer_name, max(t_order_log.seq) as "seq", max(t_order_log.extern_order_status) as "extern" from t_order_demand JOIN t_order_log ON t_order_demand.order_id=t_order_log.order_id and t_order_demand.order_id like '%88%' group by t_order_demand.customer_name 

에 가입 GROUP BY 에서 서열, extern_order를 제거해야 !!! –

+0

@ NikeAngreni, 두 번째 쿼리를 사용하고 있습니까? 또한 나는 네가 의미하는 것을 얻지 못했다. 예를 보여 줄 수 있니? – radar

+0

아니, 귀하의 쿼리가 작동 .. 그건 내 잘못, 내가 customer_name의 기록을 본 후에, 거기에 '3'레코드가 있습니다. 실수로 인해서 @RADAR –

관련 문제