кроме условия в запросе mysql ..

У меня есть таблица со следующей структурой,

name (type: TEXT) price (type: INT) color (type: TEXT) vehicletype (type: TEXT) eg. SEDAN/SUV 

теперь я хочу получить (имя, цена, цвет, тип транспортного средства). Если это черный седан, я готов заплатить 10 000, но если его красный или белый, то не более 8 000. Для любого другого цвета я не буду превышать 7 000, за исключением, если это внедорожник, и в этом случае мой бюджет составляет до 15 000 для черного или до 14 000 для любого другого цвета.
У меня есть этот запрос, но он не работает,

 SELECT name, price, color, vehicletype FROM carrecords WHERE (vehicletype = 'SEDAN' AND color = 'black' AND price <= 10000) OR (vehicletype = 'SEDAN' AND color IN('red','white') AND price <= 8000 ) OR (vehicletype = 'SEDAN' /* here I tried != "SUV" as well - no luck*/ AND color NOT IN('red','white','black') AND price <= 7000) OR (vehicletype = 'SUV' AND color = 'black' AND price <= 15000) OR (vehicletype = 'SUV' AND color != 'black' AND price <= 14000) ORDER BY price ASC 

так, есть ли какое-нибудь решение?

 SELECT name, price, color, vehicletype FROM carrecords WHERE -- black sedans up to 10k (vehicletype = 'SEDAN' AND color = 'black' AND price <= 10000) -- red or white sedans up to 8k OR (vehicletype = 'SEDAN' AND color IN('red','white') AND price <= 8000 ) -- black SUV up to 15k OR (vehicletype = 'SUV' AND color = 'black' AND price <= 15000) -- non-black SUV up to 14k OR (vehicletype = 'SUV' AND color != 'black' AND price <= 14000) -- any other vehicle up to 7k OR (price <= 7000) ORDER BY price ASC