Consulta usando Like com mais de uma condição ao mesmo tempo
Olá amigos,
minha dúvida é a seguinte:
É possível eu fazer uma consulta usando like com mais de uma condição.
Explicando melhor:
Tenho vários produtos cadastrados, o código dos produtos possuem 6 números e 2 letras, exemplo ´442WX121´.
Gostaria de trazer todos os produtos onde os três primeiros números fossem iguais a 500, 501, 600, 601. Exemplo: ´501AQ122´, ´600PO099´ e assim por diante, tudo na mesma consulta... tem jeito?
valeu!
minha dúvida é a seguinte:
É possível eu fazer uma consulta usando like com mais de uma condição.
Explicando melhor:
Tenho vários produtos cadastrados, o código dos produtos possuem 6 números e 2 letras, exemplo ´442WX121´.
Gostaria de trazer todos os produtos onde os três primeiros números fossem iguais a 500, 501, 600, 601. Exemplo: ´501AQ122´, ´600PO099´ e assim por diante, tudo na mesma consulta... tem jeito?
valeu!
Anarchybra
Curtidas 0
Respostas
Midas
23/10/2003
Não sei se é o que deseja mas tenta.
select * from tabela where codigo in :codigo
select * from tabela where codigo in :codigo
GOSTEI 0
Midas
23/10/2003
Perdão colegas o erro acima desconsidere a resposta e considere esta
select codigo from tabela where codigo like ´5¬´ or codigo like ´6¬´
bem de toda forma terá que usar duas condições, não vejo como usar uma condição para os dois casos.
select codigo from tabela where codigo like ´5¬´ or codigo like ´6¬´
bem de toda forma terá que usar duas condições, não vejo como usar uma condição para os dois casos.
GOSTEI 0
Anarchybra
23/10/2003
Midas, obrigado pela ajuda... mas não é exatamente isso que preciso. Eu tenho o seguinte:
Desconsideremos as linhas de código superior a essa.....
[b:e5f26328e6]sql.add(´and CLIENTE.NOME LIKE´+QuotedStr(edit1.text+´¬´));
sql.add(´and produto.cod_produto like´ ´500¬´´´);
sql.add(´and produto.cod_produto like´ ´501¬´´´);
sql.add(´and produto.cod_produto like´ ´610¬´´´);
sql.add(´and produto.cod_produto like´ ´610¬´´´);
[/b:e5f26328e6]
quando uso apenas uma condição Like ele me retorna um valor satisfatório, quando faço exatamente como acima, ele me retorna em branco. Já tentei usar o In, mas o erro é o mesmo...
O que devo fazer?
Desconsideremos as linhas de código superior a essa.....
[b:e5f26328e6]sql.add(´and CLIENTE.NOME LIKE´+QuotedStr(edit1.text+´¬´));
sql.add(´and produto.cod_produto like´ ´500¬´´´);
sql.add(´and produto.cod_produto like´ ´501¬´´´);
sql.add(´and produto.cod_produto like´ ´610¬´´´);
sql.add(´and produto.cod_produto like´ ´610¬´´´);
[/b:e5f26328e6]
quando uso apenas uma condição Like ele me retorna um valor satisfatório, quando faço exatamente como acima, ele me retorna em branco. Já tentei usar o In, mas o erro é o mesmo...
O que devo fazer?
GOSTEI 0
Afarias
23/10/2003
use OR no lugar do AND como indicado pelo MIDAS
ex::
sql.add(´and CLIENTE.NOME LIKE´+QuotedStr(edit1.text+´¬´));
sql.add(´and (produto.cod_produto like ´´500¬´´´);
sql.add(´or produto.cod_produto like ´´501¬´´´);
sql.add(´or produto.cod_produto like ´´610¬´´´);
sql.add(´or produto.cod_produto like ´´610¬´´)´);
note q as condições OR estão agrupadas entre parênteses.
T+
ex::
sql.add(´and CLIENTE.NOME LIKE´+QuotedStr(edit1.text+´¬´));
sql.add(´and (produto.cod_produto like ´´500¬´´´);
sql.add(´or produto.cod_produto like ´´501¬´´´);
sql.add(´or produto.cod_produto like ´´610¬´´´);
sql.add(´or produto.cod_produto like ´´610¬´´)´);
note q as condições OR estão agrupadas entre parênteses.
T+
GOSTEI 0
Anarchybra
23/10/2003
Muito obrigado Midas e Afarias, solucionaram meu problema.
GOSTEI 0