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')
Question
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 to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.