Olá pessoal,
To com uma dúvida com uma consulta SQL!
Seguinte, tenho as tabelas ‘produto’ 1 => N ‘preco’. Preciso consultar todos os produtos INNER JOIN com o preço atual (consigo isso com ORDER BY dataHoraCadastro DESC LIMIT 1), isso funciona para consulta de um produto em específico, o problema é que quando faço isso para todos os produtos, a condição ‘ORDER BY dataHoraCadastro DESC LIMIT 1’ é feita para o resultado final me resultando apenas uma tupla… e o que preciso é que essa condição seja feita para cada produto, me retornando todos os produtos cada um com seu preço atual.
Alguém pode me ajudar?
SELECT produto.codigo, nome, custo, venda from produto
inner join preco on preco.produto_codigo = produto.codigo
ORDER BY dataHoraCadastro DESC LIMIT 1
SOLUÇÃO:
"SELECT codigo, if(taxaEntrega = 1,concat(nome,' - ',descricao),nome) as nome, "
+"(SELECT custo from preco where preco.produto_codigo = produto.codigo ORDER BY dataHoraCadastro DESC LIMIT 1) as custo, "
+"(SELECT venda from preco where preco.produto_codigo = produto.codigo ORDER BY dataHoraCadastro DESC LIMIT 1) as venda "
+"from produto"