exceto condição na consulta mysql ..

tenho tabela com a seguinte estrutura,

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

gora, quero recuperar (nome, preço, cor, tipo de veículo) Se for um sedan preto, estou pronto para pagar 10.000, mas se for vermelho ou branco, não será mais do que 8.000. Para qualquer outra cor, não ultrapassarei 7.000, exceto se for um SUV. Nesse caso, meu orçamento é de até 15.000 para um preto ou de 14.000 para qualquer outra co
Eu tenho essa consulta, mas não está funcionando,

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  

ntão, existe alguma soluçã

questionAnswers(2)

yourAnswerToTheQuestion