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')
Pergunta
bocaphp
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.Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.