Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde,
Gostaria de um exemplo de como criar uma sql para o seguinte problema:
Ex.:
Eu tenho uma tabela (tbExemplo) com os campos id, descricao, tipo, valor.
Num formulário informo ou a descrição ou o tipo ou o valor para encontrar os registros que desejo.
Caso queira encontrar um registro desta tabela como por exemplo o produto com a descrição:"Calça".
Então informaria no formulário a descrição e a sql seria: SELECT * FROM tbExemplo WHERE descricao LIKE '%Calça%';
Supondo que os dados retornados foram:
1 calça verde 10,00
2 calça azul 15,00
3 calça amarela 9,00
Agora supondo que com os dados fornecidos pela primeira pesquisa eu quera saber sobre a calça verde.
Então informaria no formulário a descrição e o tipo e a sql seria: SELECT * FROM tbExemplo WHERE descrição LIKE '%Calça%' OR tipo LIKE '%verde%';
Porém o resultado seria todas as calças e registros que tenham o tipo verde. Ex.:
1 calça verde 10,00
2 calça azul 15,00
3 calça amarela 9,00
4 camisa verde 3,00
7 blusa verde 5,00
Caso a sql fosse SELECT * FROM tbExemplo WHERE descrição LIKE '%Calça%' AND tipo LIKE '%verde%';
O resultado seria correto porém se eu não informasse o tipo, não teria nenhum resultado.
Ou seja, minha dúvia é como criar uma sql que possa ser sempre mais específica conforme são enviados mais parâmetros de pesquisa, pois com 'OR' ela se torna cada vez mais genérica (a pesquisa) e com 'AND' perde-se a função da pesquisa.
Alguém já passou por isso?
Abrass,
Carregando comentários...