Detectar pedidos diferentes com os mesmos produtos

Estou com um problema na solução de um problema. Possuo 2 pedidos com registros (id) diferentes mas com a mesma quantidade e produtos iguais. Como posso fazer uma consulta para detectar isso?

Cria uma tabela intermediária ao invés de relacionar produto diretamente com pedido. Pode chamar ela de Item. Assim:

  • Um pedido tem 1…N itens;
  • Um item tem apenas um produto e uma quantidade. Pode também salvar o preço no momento da compra, para o caso de promoções.
1 curtida

De acordo com o que você disse eu imagino que você tenha as seguintes tabelas: Produto, Pedido e Produdo_Pedido.

Seguindo essa linha de raciocínio, basta você pegar na tabela Produto_Pedido todos os pedidos onde o produto desejado apareça.

SELECT ID_PEDIDO
FROM PRODUTO_PEDIDO PP
INNER JOIN PRODUTO PRO ON(PP.ID_PRODUTO = PRO.ID_PRODUTO)
INNER JOIN PEDIDO PED ON(PP.ID_PEDIDO = PED.ID_PEDIDO)
WHERE PP.ID_PRODUTO = 1;

Esta consulta irá retornar todos os pedidos que possuem o produto desejado, buscando pelo id do produto.

2 curtidas

Vou tentar seguir o seu conselho, vou agrupar com o código do vendedor,cliente,código do pedido e o sum(das quantidades de produtos e total do pedido). E compará-lo com os pedidos por cliente e vendedor só que um if (quantidades iguais e código de pedidos diferentes).

1 curtida