Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso fazer um select em campo do bd (sql server) que foi preenchido com multi-select, ex(10, 20, 30), preciso pegar o valor 20 somente Utilizei o select assim
where fase = '30'
Mas não pega todos, tentei assim também:
Instr(1, fase, "30", 1)
Mas também não deu, a questão é tem como fazer isso com select?
>
Preciso fazer um select em campo do bd (sql server) que foi preenchido com multi-select, ex(10, 20, 30), preciso pegar o valor 20 somente Utilizei o select assim
where fase = '30'
Mas não pega todos, tentei assim também:
Instr(1, fase, "30", 1)
Mas também não deu, a questão é tem como fazer isso com select?
Como você pegou um valor 20 do banco de dados se fez um select com where fase = '30' ? não entendi bem o que você quer.
quanto a multi-select existe o inner join que junta N tabelas num select exemplo você pode ver [aqui](http://www.w3schools.com/sql/sql_join_inner.asp)
Você também poderia usar um like para trazer resultados, exemplo voce pode ver aqui
Espero ajudar
como ele é multi-select(10, 20, 30),primeiro desmembre os valores para depois fazer o select
seria algo assim!?
where fase IN('30','20')
Olha pelo que entendi você quer pegar todos os valores igual a '20' da coluna FASE.
Se for pra mostrar na tela ou algum tipo de alteração no BD, basta você fazer um loop.
Se for pra consultar:
set rs=conexao.execute ("SELECT * FROM tabela WHERE fase='20'")
do while not rs.eof
responsea.write rs("fase")
loop
Se for pra executar uma alteração por exemplo:
set rs=conexao.execute ("SELECT * FROM tabela WHERE fase='20'")
valor = x
do while not rs.eof
conexao.execute("UPDATE tabela SET fase='valor' WHERE fase='20'")
loop
Se essa for a dúvida, que tá difícil de entender, espero ter esclarecido alguma coisa
você pode colocar a SQL em um loop, fazendo pegar os dados vindo do multi-select, exemplo (uma simulação pegando produtos , mas você pode alterar para sua necessidade)
if qtd_produtos = "" then
Response.write("erro..."
response.redirect("outra_pagina.asp")
else
qtd_produtos = split(Request.Form("qtd_produtos"),",")
if qtd_produtos = ""
produtos= Split(Request.Form("produtos"), ",")
For i = 1 To Request.Form("produtos").Count
Response.write request.form("produtos")(i)&"<BR>" & request.form("qtd_produtos")(i)&"<BR>"
SQL = "SELECT * FROM tabela WHERE fase='"&request.form("produtos")(i)&"'"
utilize like em sua consulta
where fase LIKE '%30%'
esta aqui ainda tem falhas mas já inicia a filtragem