create a new query on the vehicles
table grouping by brandID
to determine the max(price)
SELECT brandID, MAX(VEH_PRICE)
FROM VEHICLE
group by brandID
then create another query that uses the first one joined back to vehicles
to determine the related vehicleID
SELECT
v.BRAND_ID, MODEL_ID, VEH_ID
FROM VEHICLE v inner join
( SELECT brandID, MAX(VEH_PRICE) as max_veh_price
FROM VEHICLE
group by brandID) m on
v.brandid = m.brandid and
v.veh_price = m.max_veh_price
then, to get the brand_name
, join again to your brand
table on the brandID
field, and yes, if max(price) returns more than one vehicle, you'll have to go with Top 1 at Roman suggests.
sorry, couldn't read your images at first.
yes, you need to join the model table to vehicle to get to the brandID. I'm assuming this is an exercise and you're supposed to learn about joins as a result? don't just take a solution, then, understand each piece individually.