Fórum Select com IF e between #408827
25/10/2011
0
Pessoal, preciso de uma ajuda.
Estou fazendo um consulta no meu banco de dados em duas tabelas mas preciso usar um IF para isso, sei a lógica e tentei fazer de algumas formas mas não consegui.
Tenho duas tabelas
------------------------------------------------------------------------
A lógica da minha consulta seria a seguinte
Selecionar na tabela tb_teste pelo preço de 10000.00 ente(between) 100000.00
Ai vem a parte que não estou conseguindo fazer.
Se o tb_teste.preço = 0.00 então selecione na tb_teste_temp pelo preço de 10000.00 ente(between) 100000.00
Com ajuda fiz algo assim mas não esta trazendo o resultado da temp, alguém tem uma forma para ajudar.
Estou fazendo um consulta no meu banco de dados em duas tabelas mas preciso usar um IF para isso, sei a lógica e tentei fazer de algumas formas mas não consegui.
Tenho duas tabelas
-- -- Estrutura da tabela `tb_teste` -- CREATE TABLE IF NOT EXISTS `tb_teste` ( `ID` int(11) NOT NULL auto_increment, `preço` float(40,2) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3; -- -- Extraindo dados da tabela `tb_teste` -- INSERT INTO `tb_teste` (`ID`, `preço`) VALUES(1, 0.00); INSERT INTO `tb_teste` (`ID`, `preço`) VALUES(2, 100000.00); -- -------------------------------------------------------- -- -- Estrutura da tabela `tb_teste_temp` -- CREATE TABLE IF NOT EXISTS `tb_teste_temp` ( `ID` int(11) NOT NULL auto_increment, `preço` float(40,2) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3; -- -- Extraindo dados da tabela `tb_teste_temp` -- INSERT INTO `tb_teste_temp` (`ID`, `preço`) VALUES(1, 50000.00); INSERT INTO `tb_teste_temp` (`ID`, `preço`) VALUES(2, 100000.00);
------------------------------------------------------------------------
A lógica da minha consulta seria a seguinte
Selecionar na tabela tb_teste pelo preço de 10000.00 ente(between) 100000.00
Ai vem a parte que não estou conseguindo fazer.
Se o tb_teste.preço = 0.00 então selecione na tb_teste_temp pelo preço de 10000.00 ente(between) 100000.00
Com ajuda fiz algo assim mas não esta trazendo o resultado da temp, alguém tem uma forma para ajudar.
SELECT
ID,
if( preço = 0,( SELECT
preço
FROM
tb_teste_temp
WHERE
ID = tb_teste.ID and (tb_teste_temp.preço between 10000.00 and 100000.00)
), preço ) AS preço
FROM
tb_teste Where (tb_teste.preço between 10000.00 and 100000.00)Flavio Vico
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)