Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aze

[Resolvido] Como realizar este select

Recommended Posts

Ola pessoal, nao consigo fazer esta consulta nas 3 tabelas, se retiro apos o where ele retorna todos os dados das tabelas, pois preciso somente os que tenham relação

 

retornando esta mensagem.

MySQL retornou um conjunto vazio (ex. zero registros). (Consulta levou 0.0008 segundos)

 

 

 

O que faço de errado.

 

versão MySQL: 5.0.45

 

 

Desde ja agradeço!!!

 


SELECT `id_baixa`, `data`, `quantidade`, `nome` , `nomeProduto`
FROM `tb_baixa`AS `b`,`tb_produto`AS `p`,`tb_cliente`AS `c`
WHERE `b`.`id`=`c`.`id`
AND `b`.`idProduto` = `p`.`idProduto`








CREATE TABLE `tb_baixa` 
(
  `id_baixa` smallint(11) NOT NULL auto_increment,
  `data` date NOT NULL,
  `quantidade` int(5) NOT NULL,
  `id` varchar(11) NOT NULL,
  `idProduto` varchar(11) NOT NULL,
  PRIMARY KEY  (`id_baixa`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=232 ;

--
-- Extraindo dados da tabela `tb_baixa`
--

INSERT INTO `tb_baixa` (`id_baixa`, `data`, `quantidade`, `id`, `idProduto`) VALUES
(231, '2010-09-13', 5555, '13', 'er');

-- --------------------------------------------------------

--
-- Estrutura da tabela `tb_cliente`
--

CREATE TABLE `tb_cliente` (
  `id` int(11) NOT NULL auto_increment,
  `nome` varchar(45) collate latin1_general_ci NOT NULL,
  `cpf` bigint(15) NOT NULL default '0',
  `telefone` varchar(45) collate latin1_general_ci NOT NULL,
  `rua` varchar(45) collate latin1_general_ci NOT NULL,
  `bairro` varchar(45) collate latin1_general_ci NOT NULL,
  `cidade` varchar(45) collate latin1_general_ci NOT NULL,
  `estado` varchar(45) collate latin1_general_ci NOT NULL,
  `email` varchar(45) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `nome` (`nome`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=14 ;

--
-- Extraindo dados da tabela `tb_cliente`
--

INSERT INTO `tb_cliente` (`id`, `nome`, `cpf`, `telefone`, `rua`, `bairro`, `cidade`, `estado`, `email`) VALUES
(13, 'feio', 1234567890, '91519179', 'david', 'indep', 'sao jose', 'sao paulo', 'feio@yahoo.com.br');

Estrutura da tabela `tb_produto`
--

CREATE TABLE `tb_produto` (
  `IdProduto` smallint(11) unsigned NOT NULL auto_increment,
  `nomeProduto` varchar(45) collate latin1_general_ci NOT NULL,
  `descricaoProduto` varchar(45) collate latin1_general_ci NOT NULL,
  `unidadeProduto` varchar(45) collate latin1_general_ci NOT NULL,
  `foto` varchar(45) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`IdProduto`),
  KEY `nomeProduto` (`nomeProduto`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=128 ;

--
-- Extraindo dados da tabela `tb_produto`
--

INSERT INTO `tb_produto` (`IdProduto`, `nomeProduto`, `descricaoProduto`, `unidadeProduto`, `foto`) VALUES
(125, 'corta fogo', 'para cabine 381', 'jogo 6 peças', '5fc27f40a941852342e6e55e70f92d1c.jpg');




Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal, nao consigo fazer esta consulta nas 3 tabelas, se retiro apos o where ele retorna todos os dados das tabelas, pois preciso somente os que tenham relação

 

retornando esta mensagem.

MySQL retornou um conjunto vazio (ex. zero registros). (Consulta levou 0.0008 segundos)

 

 

 

O que faço de errado.

 

versão MySQL: 5.0.45

 

 

Desde ja agradeço!!!

 


SELECT `id_baixa`, `data`, `quantidade`, `nome` , `nomeProduto`
FROM `tb_baixa`AS `b`,`tb_produto`AS `p`,`tb_cliente`AS `c`
WHERE `b`.`id`=`c`.`id`
AND `b`.`idProduto` = `p`.`idProduto`




Bom dia!

 

Tenta arrumar esse select, você tah usando ALIAS depois do WHERE e naum esta usando antes....você tem que usar em todos os campos, conforme exemplo:

 

 

SELECT `b.id_baixa`, `b.data`, `p.quantidade`, `p.nome` , `p.nomeProduto`
FROM `tb_baixa`AS `b`,`tb_produto`AS `p`,`tb_cliente`AS `c`
WHERE `b`.`id`=`c`.`id`
AND `b`.`idProduto` = `p`.`idProduto`

Compartilhar este post


Link para o post
Compartilhar em outros sites

a consulta esta certa, porem os dados das tabelas nao tem relaçao

 

 

WHERE b.id=c.id (13 = 13) -> OK

AND b.idProduto = p.idProduto ( er = 125) -> NAO OK

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado!!!, problema resolvido.

 

 

Eu estava errando na inserção, o que não gerava relação entre as tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.