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!!!