Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo coelho designer

select pegar item em coluna com vários dados

Recommended Posts

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilize like em sua consulta

 

where fase LIKE '%30%'

 

esta aqui ainda tem falhas mas já inicia a filtragem

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

Você também poderia usar um like para trazer resultados, exemplo voce pode ver aqui

 

Espero ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

como ele é multi-select(10, 20, 30),primeiro desmembre os valores para depois fazer o select

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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)&"'"

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.