nstrução @MySQL select com CASE ou IF ELSEIF? Não sei como obter o resultado

Eu tenho duas mesas. Um deles possui informações sobre o fabricante e inclui as regiões onde eles podem vender. O outro tem seus produtos à venda. Temos que limitar a visibilidade do produto com base nas regiões. É como se a Netflix tivesse vídeos em seu sistema que só podem ser visualizados em todos os lugares (1), somente no Canadá (2), somente nos EUA (3).

Estou tentando fazer uma consulta que me diga onde o produto pode ser visualizado com base nas configurações na tabela do fabricant

Por exemplo, na tabela do fabricante, existem dois campos chamados expose_new e expose_used, cada um com um valor de 1,2 ou 3 para limitar onde os vídeos novos ou usados podem ser visto

Quando os vídeos são adicionados, eles não recebem um valor de 'exposição' e isso deve ser feito em tempo real ao adicioná-los ao nosso índice, dependendo dos valores expose_new ou expose_used do fabricante atual.

O que estou tentando obter são os detalhes do item e o valor calculado para onde ele pode ser visto com base em se é novo ou usado e na regra / valor atribuído ao fabricante para todos os seus produtos novos ou usado Eu preciso desse dígito único por produto para exibi-lo condicionalmente em uma list

O seguinte não funciona, mas você terá a idéia do que estou tentando fazer. Eu tentei isso com instruções CASE e a seguinte instrução IF / ELSEIF a seguir.

Qualquer ajuda para depurar isso e me indicar a direção certa seria apreciad

SELECT 
t2.company_name,
t2.expose_new,  // 1,2 or 3
t2.expose_used, // 1,2 or 3
t1.title,
t1.seller,
t1.status,  //can be new or used
(SELECT 
IF(status ='New',
  (select expose_new from manufacturers where id = t1.seller),1
)
ELSEIF(t1.status ='Used',
  (select expose_used from manufacturers where id = t1.seller),1
)
END IF
) as 'expose'
FROM `products` t1
join manufacturers t2 on t2.id = t1.seller
where t1.seller = 4238

Aqui está uma versão CASE que realmente parece ser executada, mas sempre resulta no primeiro valor, não importa o que seja verdadeiro (neste caso, 1). Não tenho certeza de que posso adicionar outro teste com o AND em cada instrução WHEN, mas isso não indica um erro, apenas o resultado errad

SELECT 
t2.company_name,
t2.expose_new,
t2.expose_used,
t1.title,
t1.status,
 CASE status
   when 'New' and t2.expose_new = 1 then 1
   when 'New' and t2.expose_new = 2 then 2
   when 'New' and t2.expose_new = 3 then 3
   when 'Used' and t2.expose_used = 1 then 1
   when 'Used' and t2.expose_used = 2 then 2
   when 'Used' and t2.expose_used = 3 then 3
END as expose
FROM `products` t1
join manufacturers t2 on t2.id = t1.seller
where t1.seller = 4238

questionAnswers(3)

yourAnswerToTheQuestion