1
resposta

Dúvida sobre filtro composto [OR]

Se eu tiver por exemplo, uma tabela de clientes principal e 2 itens nessa tabela e eu quiser ver os clientes que que compraram um item ou outro, mas um cliente comprou os dois itens e eu utilizar o OR vai haver dados duplicados na minha tabela? ou vai aparecer apenas uma vez o cliente?

1 resposta

Olá Júlia, tudo bem?

Desde já peço desculpas pela demora em obter retorno.

Se você usar o operador OR em uma consulta SQL que busca clientes que compraram um determinado item ou outro, e um cliente tiver comprado ambos os itens, ele será retornado duas vezes na consulta, uma para cada item. Isso ocorre porque o operador OR retorna todas as linhas que atendem a pelo menos uma das condições especificadas.

Para evitar registros duplicados, você pode usar o operador DISTINCT na consulta. O operador DISTINCT elimina registros duplicados no resultado da consulta, retornando apenas os valores únicos. Como mostro no código abaixo:

SELECT DISTINCT [cliente]
FROM [tabela_clientes]
WHERE [item] = 'item1' OR [item] = 'item2';

Para saber um pouco mais sobre o DISTINCT, você pode acessar a documentação.

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!