2016-11-19 61 views
0

最长2个相应的字段我明白如何从一列获得最长的领域在Oracle如下:如何获得在Oracle

select name from daTable 
where length(name) = 
(select max(length(name)) from daTable) 

但现在我有2个表:一个用于car_make其中有一个列make_description(就像日产),另一个是car_model,它有一个model_description列(像Tida)。我怎么能得到最长的领域:car_make与他的适当car_model从2个不同的表中?

这是我表的结构:

Car_make: id_make , make_description 
Car_model: id_model, model description,P_id_make 

(其中P_id_make在car_model是car_make id_make)

回答

0

你可以Concat的列这样

select a.make_description || ' ' || b.model_description as name 
    from Car_make a 
    INNER JOIN Car_model b on a.id_make = b.P_id_make 
    where length(a.make_description || ' ' || b.model_description ) = 
    (select max(a.make_description || ' ' || b.model_description) 
    from Car_make a 
    INNER JOIN Car_model b on a.id_make = b.P_id_make) 
+0

@ H.Al 。我已经更新answr ..加入这两个表 – scaisEdge