Otra consulta

15/07/2005 - 23:11 por Nicolas Ibarra Salazar | Informe spam
En una SELECT, cómo hago para pasarle más de un valor proveniente de un
combo que permita multiples selecciones:

Ej:
<select name="rubro" size="10" multiple>
<option value="1">Accesorios</option>
<option value="2">Servicios</option>
<option value="3">Depósito</option>

</select>

El tema es, en la query, cual es el operador para pasarle estos valores que
si no me equivoco van separados por comas?

SELECT * FROM rubros WHERE rubro "=" "IN" "ON" "IS" ??????

Probé con = y no trae ningun resultado cuando se elige mas de 1 opcion en el
combo.

Alguna idea?

Saludos.
Nicolas

Preguntas similare

Leer las respuestas

#1 Manuel Vera
15/07/2005 - 23:44 | Informe spam
Cuando vas a buscar n valores en un mismo campo se usa
"IN (lista valores separada por comas)"

SELECT * FROM rubros WHERE rubro IN ( y aqui los valores )
puedes hacerlo directo desde el queryString asi:
sql = "SELECT * FROM rubros WHERE rubro IN ( " & _
Request.QueryString("rubro") & " )

Salu2
MV
Respuesta Responder a este mensaje
#2 Maxi
16/07/2005 - 02:07 | Informe spam
Hola, y porque no usas XML? te paso unos ejemplos que escribi hace un
tiempo:

http://weblogs.golemproject.com/acc.../3957.aspx


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Nicolas Ibarra Salazar" escribió en el mensaje
news:
En una SELECT, cómo hago para pasarle más de un valor proveniente de un
combo que permita multiples selecciones:

Ej:
<select name="rubro" size="10" multiple>
<option value="1">Accesorios</option>
<option value="2">Servicios</option>
<option value="3">Depósito</option>

</select>

El tema es, en la query, cual es el operador para pasarle estos valores
que si no me equivoco van separados por comas?

SELECT * FROM rubros WHERE rubro "=" "IN" "ON" "IS" ??????

Probé con = y no trae ningun resultado cuando se elige mas de 1 opcion en
el combo.

Alguna idea?

Saludos.
Nicolas

Respuesta Responder a este mensaje
#3 Maxi
16/07/2005 - 02:07 | Informe spam
mmm, sql dinamico? no no!! eso no es una buena idea :(


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Manuel Vera" escribió en el mensaje
news:
Cuando vas a buscar n valores en un mismo campo se usa
"IN (lista valores separada por comas)"

SELECT * FROM rubros WHERE rubro IN ( y aqui los valores )
puedes hacerlo directo desde el queryString asi:
sql = "SELECT * FROM rubros WHERE rubro IN ( " & _
Request.QueryString("rubro") & " )

Salu2
MV


Respuesta Responder a este mensaje
#4 Alejandro Mesa
17/07/2005 - 19:12 | Informe spam
Nicolas Ibarra Salazar,

Como indico Maxi, pudieras pasar los valores en un documento xml como
parametro de entrada a un procedimiento almacenado. Esta opcion no es la mas
optima, al menos en sql server 2000. Existen otras formas de simular arreglos
en t-sql. Aca te paso un link donde podras leer sobre las multiples opciones
que existen para hacer esto en sql server.

Arrays and Lists in SQL Server
http://www.sommarskog.se/arrays-in-sql.html


AMB

"Nicolas Ibarra Salazar" wrote:

En una SELECT, cómo hago para pasarle más de un valor proveniente de un
combo que permita multiples selecciones:

Ej:
<select name="rubro" size="10" multiple>
<option value="1">Accesorios</option>
<option value="2">Servicios</option>
<option value="3">Depósito</option>

</select>

El tema es, en la query, cual es el operador para pasarle estos valores que
si no me equivoco van separados por comas?

SELECT * FROM rubros WHERE rubro "=" "IN" "ON" "IS" ??????

Probé con = y no trae ningun resultado cuando se elige mas de 1 opcion en el
combo.

Alguna idea?

Saludos.
Nicolas



Respuesta Responder a este mensaje
#5 Maxi
17/07/2005 - 19:52 | Informe spam
Hola, porque dices q no es optima, mira yo lo uso mucho y es muy optima!! en
que te basas o que experiencias has tenido con esto para indicar q no es
optima?


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Alejandro Mesa" escribió en el
mensaje news:
Nicolas Ibarra Salazar,

Como indico Maxi, pudieras pasar los valores en un documento xml como
parametro de entrada a un procedimiento almacenado. Esta opcion no es la
mas
optima, al menos en sql server 2000. Existen otras formas de simular
arreglos
en t-sql. Aca te paso un link donde podras leer sobre las multiples
opciones
que existen para hacer esto en sql server.

Arrays and Lists in SQL Server
http://www.sommarskog.se/arrays-in-sql.html


AMB

"Nicolas Ibarra Salazar" wrote:

En una SELECT, cómo hago para pasarle más de un valor proveniente de un
combo que permita multiples selecciones:

Ej:
<select name="rubro" size="10" multiple>
<option value="1">Accesorios</option>
<option value="2">Servicios</option>
<option value="3">Depósito</option>

</select>

El tema es, en la query, cual es el operador para pasarle estos valores
que
si no me equivoco van separados por comas?

SELECT * FROM rubros WHERE rubro "=" "IN" "ON" "IS" ??????

Probé con = y no trae ningun resultado cuando se elige mas de 1 opcion en
el
combo.

Alguna idea?

Saludos.
Nicolas



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida