Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
ola a todos,
estou com um problema que ta me tirando o sono
estou tentando retornar a situação de determinados produtos, mas nao estou conseguindo.
segue as tabelas:
CREATE TABLE IF NOT EXISTS `produtos` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`nome` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
produtos DISABLE KEYS /;
REPLACE INTO produtos (id, nome) VALUES
(1, 'ARROZ'),
(2, 'FEIJAO'),
(3, 'MANDIOCA'),
(4, 'VINAGRE');
/*!40000 ALTER TABLE `produtos` ENABLE KEYS */;
DROP TABLE IF EXISTS `produto_mov`;
CREATE TABLE IF NOT EXISTS `produto_mov` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`idprod` int(10) DEFAULT NULL,
`data` date DEFAULT NULL,
`tipo_mov` enum('INC','ENC','RET','EXC') DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_produto_mov_produtos` (`idprod`),
CONSTRAINT `FK_produto_mov_produtos` FOREIGN KEY (`idprod`) REFERENCES `produtos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
produto_mov DISABLE KEYS /;
REPLACE INTO produto_mov (id, idprod, data, tipo_mov) VALUES
(1, 1, '2010-08-13', 'INC'),
(2, 1, '2010-08-14', 'ENC'),
(3, 1, '2010-09-01', 'RET'),
(4, 1, '2010-09-13', 'EXC'),
(5, 2, '2010-08-14', 'INC'),
(6, 2, '2010-08-29', 'ENC'),
(7, 2, '2010-09-14', 'RET');
e a consulta que estou tentando fazer é
SELECT produtos.id, produtos.nome, produto_mov.id, produto_mov.idprod, produto_mov.data, produto_mov.tipo_mov
FROM produtos
INNER JOIN produto_mov ON produto_mov.idprod = produtos.id
GROUP BY produtos.id
mas ela retorna o primeiro registro da tabela produto_mov, ou seja a primeira data para cada registro de produtos.
mas o interessante seria que mostrasse a ultima data.
nao sei se fui bem claro, caso esteja faltando alguma coisa, me digam que eu posto.
obrigado.
Carregando comentários...