excepto condición en la consulta mysql ..

tengo una tabla con la siguiente estructura,

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

ahora quiero recuperar (nombre, precio, color, tipo de vehículo) Si es un sedán negro, estoy listo para pagar 10,000, pero si es rojo o blanco, entonces no más de 8,000. Para cualquier otro color, no superaré los 7,000, excepto si es un SUV, en cuyo caso mi presupuesto es de hasta 15,000 para uno negro o hasta 14,000 para cualquier otro color.
Tengo esta consulta, pero no funcionó,

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  

so, ¿hay alguna solución?

Respuestas a la pregunta(2)

Su respuesta a la pregunta