Array
(
)

Resultado TOP 5

Rvanchez
   - 28 jun 2007

Pessoal,
Tenho um select que retorna 5 resultados aleatoriamente de uma tabela.

SELECTTOP 5 GrpMarca.CodGrpMarca, GrpMarca.DscGrpMarca, Estoque.CodMarca, Estoque.CodProduto, Estoque.CodTipoProd,
Estoque.CodLocal, Estoque.Lote, Estoque.CodTamanho, Estoque.CodCor, Estoque.QtdeTotal, Produtos.CodigoDeBarras,
Produtos.DscProduto, Produtos.RefProduto, Marcas.DscMarca
FROMGrpMarca
INNER JOIN GrpMarcaXMarca ON GrpMarcaXMarca.CodGrpMarca = GrpMarca.CodGrpMarca
INNER JOIN Estoque ON Estoque.CodMarca = GrpMarcaXMarca.CodMarca
INNER JOIN Produtos ON Produtos.CodTipoProd = Estoque.CodTipoProd And
Produtos.CodProduto = Estoque.CodProduto And Produtos.CodMarca = Estoque.CodMarca
INNER JOIN Marcas ON Marcas.CodMarca = Estoque.CodMarca
WHEREEstoque.CodMarca Between ´´ And ´ZZZZZZ´
ORDER BY NewID ()

Gostaria de ajuda para saber como faço para retornar 5 resultados por marca de acordo com o WHERE.

Agradeço desde ja se puderem me ajudar.

Psergio.p
   - 10 jul 2007

Caro amigo, esta um pouco confusa a sua dúvida, pode especifica-la melhor?

Emerson
   - 14 jul 2007

#Código

SELECT TOP 5
  GrpMarca.CodGrpMarca, GrpMarca.DscGrpMarca, Estoque.CodMarca,
  Estoque.CodProduto, Estoque.CodTipoProd, Estoque.CodLocal,
  Estoque.Lote, Estoque.CodTamanho, Estoque.CodCor,
  Estoque.QtdeTotal, Produtos.CodigoDeBarras, Produtos.DscProduto,
  Produtos.RefProduto, Marcas.DscMarca
FROM
  GrpMarca
INNER JOIN
  GrpMarcaXMarca ON GrpMarcaXMarca.CodGrpMarca = GrpMarca.CodGrpMarca
INNER JOIN
  Estoque ON Estoque.CodMarca = GrpMarcaXMarca.CodMarca
INNER JOIN
  Produtos ON Produtos.CodTipoProd = Estoque.CodTipoProd And
    Produtos.CodProduto = Estoque.CodProduto And
    Produtos.CodMarca = Estoque.CodMarca
INNER JOIN
  Marcas ON Marcas.CodMarca = Estoque.CodMarca
WHERE
  Estoque.CodMarca Between ´´ And ´ZZZZZZ´
ORDER BY
  Estoque.CodMarca

esse código retorna os 5 primeiros registros de acordo com a marca, porém seu where está selecionando todas as marcas (´´ a ´ZZZZZZ´ irá trazer todos os registros, então nem seria necessário o where)

Psergio.p
   - 18 jul 2007

a clausula TOP trará os 5 primeiros registros e como a sua instrução esta classificando pelo código da marca talvez retorne 5 registros da mesma marca. Você precisa dos primeiros registros de cada marca?