Boa Noite, preciso de uma ajuda com o código abaixo, fiz ele em sql server, mas agora preciso passar ele para mysql.
A parte que está dando erro é no OVER.
SELECT top 100 percent
NomeProduto,Quantidade,NomeLoja,Menor_Preço,Preço_Medio,VALOR_TOTAL,NomeComodo,Prioridade
FROM (
SELECT
*
, ROW_NUMBER() OVER(PARTITION BY NomeProduto ORDER BY Prioridade,valor_total) AS DEDUP
FROM (
SELECT top 100 percent
P.NomeProduto,
p.Quantidade,
L.NomeLoja,
MIN(PC.valor) Menor_Preço,
CAST(AVG(PC.VALOR)AS decimal(10,2))Preço_Medio,
MIN(PC.valor * P.Quantidade) AS VALOR_TOTAL,
P.NomeComodo,
P.Prioridade
FROM tb_Produtos P
INNER JOIN tb_Precos PC ON PC.cdProduto = P.cdProduto
INNER JOIN tb_Lojas L ON L.cdLoja = PC.cdLoja
GROUP BY P.NomeProduto, P.Prioridade, P.Quantidade,P.NomeComodo , l.NomeLoja
order by p.Prioridade
) A
) B
WHERE Dedup = 1
order by Prioridade
Pergunta
Lhogan
Boa Noite, preciso de uma ajuda com o código abaixo, fiz ele em sql server, mas agora preciso passar ele para mysql.
A parte que está dando erro é no OVER.
SELECT top 100 percent
NomeProduto,Quantidade,NomeLoja,Menor_Preço,Preço_Medio,VALOR_TOTAL,NomeComodo,Prioridade
FROM (
SELECT
*
, ROW_NUMBER() OVER(PARTITION BY NomeProduto ORDER BY Prioridade,valor_total) AS DEDUP
FROM (
SELECT top 100 percent
P.NomeProduto,
p.Quantidade,
L.NomeLoja,
MIN(PC.valor) Menor_Preço,
CAST(AVG(PC.VALOR)AS decimal(10,2))Preço_Medio,
MIN(PC.valor * P.Quantidade) AS VALOR_TOTAL,
P.NomeComodo,
P.Prioridade
FROM tb_Produtos P
INNER JOIN tb_Precos PC ON PC.cdProduto = P.cdProduto
INNER JOIN tb_Lojas L ON L.cdLoja = PC.cdLoja
GROUP BY P.NomeProduto, P.Prioridade, P.Quantidade,P.NomeComodo , l.NomeLoja
order by p.Prioridade
) A
) B
WHERE Dedup = 1
order by Prioridade
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.