2014-11-13 2 views
1

Мне нужно выбрать max из двух таблиц. Как я могу это сделать? Вот мой оракул код:Как выбрать две функции max в оракуле

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 и имеют два Экстерн 0 и 2. я просто хочу показать, что они 1 имя клиента, 1 макс SEQ и 1 макс ехЬегп. Но как? Пожалуйста, помогите мне.

ответ

0

вам необходимо удалить с послед, extern_order из GROUP BY Также изменили его использовать Явные

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 

если вы хотите только один клиент из этого набора

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

это работает, спасибо !!! –

+0

@NikeAngreni, вы используете второй запрос? также я не понял, что вы имели в виду, можете ли вы показать пример? – radar

+0

нет, ваш запрос работает .. это просто моя ошибка, после того, как я увидел записи customer_name, есть запись «3». извините за мою ошибку @ RADAR –

Смежные вопросы