 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
valmirluis42 Novato

Registrado: Segunda-Feira, 17 de Agosto de 2015 Mensagens: 60
|
Enviada: Qui Jan 25, 2018 10:16 am Assunto: Saber quais itens sairão juntamente com outro(Resolvido) |
|
|
Bom dia, estou tentando identificar quais produtos saem mais com outro, estou usando o SQL Server, mas o que estou conseguindo é listar os 10 mais por ordem de sequencia ( o campo Produto é a sequencia de cadastrado na tabela Estoque). O código é esse: | Código: | ;WITH
VendasContendoProdutoestrategico AS
(
SELECT v.PRODUTO,
v.DATA
FROM ITENS_PED_ORCAMENTO v
WHERE V.PRODUTO = '1'
),
RestantesProdutos AS
(
SELECT v.PRODUTO,
v.DATA,
v.REFERENCIA,
p.descricao,
v.QUANTIDADE
FROM ITENS_PED_ORCAMENTO v
--Ligar outra vez às tabelas vdaitem e produto, desta vez para obter os restantes produtos cupon que contem o código do produto estratégico
INNER JOIN ESTOQUE p
ON p.ESTOQUE_ID = v.PRODUTO
AND V.data between '2017-01-01' and '2017-12-01'
AND p.ESTOQUE_ID <> '1' -- Nao detalhar o item estratégico
)
SELECT TOP 10 A.PRODUTO,b.REFERENCIA, A.descricao,
COUNT(DISTINCT A.REFERENCIA),
SUM(A.QUANTIDADE)
FROM RestantesProdutos AS A
INNER JOIN
ESTOQUE AS B ON A.PRODUTO= B.ESTOQUE_ID
GROUP BY A.PRODUTO,B.REFERENCIA, A.descricao
ORDER BY 4 DESC |
Como podem verificar na imagem,
ele só retorna uma sequencia dos menores , e não a real equivalência de frequência de saída .Esses valores que foram demonstrados foram as saídas desses produtos totais, independente do filtro que eu desejo que chamei de produto estratégico. Onde estou errando?
Editado pela última vez por valmirluis42 em Sex Jan 26, 2018 4:26 pm, num total de 2 vezes |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
|
| Voltar ao Topo |
|
 |
valmirluis42 Novato

Registrado: Segunda-Feira, 17 de Agosto de 2015 Mensagens: 60
|
Enviada: Qui Jan 25, 2018 11:08 am Assunto: |
|
|
O resultado foi diferente, mas ainda não é o que eu desejo, na figura abaixo fiz por passos:
1- fiz um select para identificar quais pedidos o item de código 303 foi vendido no período de 2017( apareceram em 3 pedidos)
2- peguei e fiz um select nos 3 pedidos para identificar , além do item que 303 , quais outros são repetidos( buscando identificar uma frequência de produtos que saem nos pedidos). Marquei o item de Azul que foi o estudo, e o item de verde que em 2 dos 3 pedidos ele saiu juntamente com o 303.
Editado pela última vez por valmirluis42 em Sex Jan 26, 2018 4:25 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Jan 26, 2018 10:22 am Assunto: |
|
|
Experimente fazer uns testes dessa forma para ver se é obtido o resultado esperado:
| Código: | WITH
CTE_Pedidos as
(
SELECT
CODIGO
FROM ITENS_PED_ORCAMENTO
WHERE
PRODUTO = '303' AND
data between '2017-01-01' and '2017-12-01'
)
SELECT TOP(10)
v.PRODUTO,
v.REFERENCIA,
p.descricao,
COUNT(1)
FROM CTE_Pedidos c
INNER JOIN ITENS_PED_ORCAMENTO v
ON v.CODIGO = C.CODIGO
INNER JOIN ESTOQUE p
ON p.ESTOQUE_ID = v.PRODUTO
WHERE
v.PRODUTO <> '303'
GROUP BY
v.PRODUTO,
v.REFERENCIA,
p.descricao
ORDER BY
4 DESC |
Espero que ajude |
|
| Voltar ao Topo |
|
 |
valmirluis42 Novato

Registrado: Segunda-Feira, 17 de Agosto de 2015 Mensagens: 60
|
Enviada: Sex Jan 26, 2018 4:24 pm Assunto: |
|
|
| Funcionou perfeitamente, muito obrigado Imex |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|