Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

beto_

Sistema em Asp e MySql que encontre registros similares usando Split

Recommended Posts

Bom dia pessoal,

 

É o seguinte, tenho um banco de dados com várias receitas e quero fazer um sistema em Asp e MySql que encontre receitas similares. Vou explicar melhor com o exemplo abaixo:

 

RECEITA 01:

O campo "Ingredientes" da receita é uma string assim: "cebola, molho de tomate, alho, macarrão"

 

O que eu preciso agora é encontrar receitas no banco de dados que tenham pelo menos 2 dos 4 ingredientes da receita acima. Para separar os ingredientes posso usar Split (myarray = Split(Ingredientes, ", ")), mas ai não sei como ficaria o Select do MySql.

 

Alguém tem alguma sugestão?

 

Abs,

Beto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas aí como ficaria o select? Porque eu quero encontrar receitas que tenham 2 ou mais ingredientes iguais aos da receita selecionada, então são muitas possibilidades.

 

A receita selecionada tem: "cebola, molho de tomate, alho, macarrão"

 

Eu quero encontrar receitas que tenham:

cebola e molho de tomate

ou

cebola e alho

ou

cebola e macarrão

ou

alho e molho de tomate

etc

 

Dá pra fazer?

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficaria assim:

 

SELECT * FROM tabela WHERE coluna LIKE %string%

 

ou

 

SELECT * FROM tabela WHERE coluna LIKE %string% And %string2%

 

SELECT * FROM tabela WHERE coluna LIKE %string% OR %string2%

 

e combinações, tipo And not ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria melhor utilizar assim:

SELECT * FROM tabela WHERE coluna LIKE %string%

 

o LIKE %% encontraria no mínimo uma das opções.

Agora caso queira deixar uma opção obrigatória, pode usar o AND como o colega disse.

 

Para fazer um SPLIT, você teria que fazer uma Procedure no SQL, que já seria uma outra história.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.