Dúvida em como fazer um SELECT específico

Preciso criar um relatório que traga alguns dados, porém eu tenho uma dúvida, por exemplo na tabela do banco eu tenho os campos id int Primark Key auto_increment, cliente varchar(80), pedido varchar(12) , qtdc1 Double, tipo1 boolean, tipo2 boolean, tipo3 boolean, tipo4 boolean;
Quando faço insert o sistema deixa apenas um dos tipos como verdadeiro é o restante como falso, e eu queria fazer um SELECT onde iria trazer o id, o cliente, o pedido, a qtdc1, e o tipo que está verdadeiro apenas, e ainda usar um where id = [parâmetro]
Alguém consegue me dizer se é possível? Colocar algo como se fosse um "If(tipon = true){“nome tipo”}

Cara tu pode fazer assim:

select camposDaTabela from suaTabela where tipo1 == true or tipo2 == true or tipo3 == true and idCampo = parametro

mas eu queria fazer algo como Se o tipo1 = true a consulta retorna “fabrica”, se tipo2 = true a consulta retorna “loja”. é possivel? sempre apenas um desses campos booleanos sera verdadeiro e o restante falso

No resultado da consulta você quer olhar esses tipoN e dependendo de qual for true quer dar um significado, confere? O CASE deve resolver isso. Tente:

select id
, cliente
, pedido
, qtdc1
, case when tipo1 = true then 'fabrica' 
   when tipo2 = true then 'loja'
   when tipo3 = true then 'o que voce que pro tipo3'
   when tipo4 = true then 'o que voce quer pro tipo4'
end as significado_tipos
from sua_tabela
where id = [seu_parametro]
1 curtida

Era exatamente isso que eu precisava Ademiltonjlc!! muito obrigado!!!