SQL PARA AGRUPAR E MOSTRAR O ULTIMO REGISTRO
Tenho a seguinte SQL:
Com essa sql acima consigo cruzar os dados de duas tabelas e jogar num flexgrid
Roda direitinho...
Porem se na tabelaB tiver 4 registros(exemplo) com o mesmo codigo_produto, ele traz os 4 registro e exibe no grid.
Eu precisava trazer somente o ultimo registro...
Para eu saber qual é o ultimo registro, será o que tiver o ultimo tabelaB.codigo
Para agrupar, já usei o [Ô]DISTINCT[Ô] e o [Ô]GROUP BY[Ô] mais sempre aparece todos...
[Ô]SELECT tabelaX.codigo, tabelaX.descricao, tabelaX.quant_estoque, [Ô] & _
[Ô]tabelaX.quant_min, ISNULL(tabelaB.venda, 0) AS var_venda [Ô] & _
[Ô]FROM tabelaX INNER JOIN tabelaB ON tabelaX.codigo = tabelaB.codigo_produto [Ô] & _
[Ô]WHERE (tabelaX.ativo = 1) ORDER BY tabelaX.descricao;[Ô]
Com essa sql acima consigo cruzar os dados de duas tabelas e jogar num flexgrid
Roda direitinho...
Porem se na tabelaB tiver 4 registros(exemplo) com o mesmo codigo_produto, ele traz os 4 registro e exibe no grid.
Eu precisava trazer somente o ultimo registro...
Para eu saber qual é o ultimo registro, será o que tiver o ultimo tabelaB.codigo
Para agrupar, já usei o [Ô]DISTINCT[Ô] e o [Ô]GROUP BY[Ô] mais sempre aparece todos...
Utilize um TOP 1 após o SELECT que deve funcionar.
[Ô]SELECT TOP 1 tabelaX.codigo, tabelaX.descricao, tabelaX.quant_estoque, [Ô] & _
[Ô]tabelaX.quant_min, ISNULL(tabelaB.venda, 0) AS var_venda [Ô] & _
[Ô]FROM tabelaX INNER JOIN tabelaB ON tabelaX.codigo = tabelaB.codigo_produto [Ô] & _
[Ô]WHERE (tabelaX.ativo = 1) ORDER BY tabelaX.descricao;[Ô]
Já tinha usado o TOP 1 tambem, mais nessa lista exibe varios produtos distintos... e usando o TOP 1 ele me mostra somente o ultimo produto de um 1 unico produto.
Na verdade quero agrupa-los...
ou seja,
ARROZ....... 1,20
ARROZ.........1,25
ARROZ.........1,30
FEIJAO..........2,00
Ele vai mostrar
ARROZ....... 1,30 (esse foi o ultimo cadastrado na tabelaB)
FEIJAO........2,00
Na verdade quero agrupa-los...
ou seja,
ARROZ....... 1,20
ARROZ.........1,25
ARROZ.........1,30
FEIJAO..........2,00
Ele vai mostrar
ARROZ....... 1,30 (esse foi o ultimo cadastrado na tabelaB)
FEIJAO........2,00
Tópico encerrado , respostas não são mais permitidas