Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

select

Estas en el tema de select en el foro de Mysql en Foros del Web. SELECT count(*) as Usuarios FROM usuarios WHERE vinculo="*???" GROUP BY vinculo hoa a todos! si se obligara a hacer una busqueda para un valor especifico ...
  #1 (permalink)  
Antiguo 17/03/2009, 14:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 10
Antigüedad: 15 años, 5 meses
Puntos: 0
select

SELECT count(*) as Usuarios FROM
usuarios WHERE vinculo="*???"
GROUP BY vinculo

hoa a todos!
si se obligara a hacer una busqueda para un valor especifico de vinculo o
como para todos los valores posibles de vinculo...se podria hacer algo para darle un valor a esa variable vinculo????
  #2 (permalink)  
Antiguo 17/03/2009, 19:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: select

Vinculo, en tu caso, tiene un rango de valores restringido: debe ser igual a el nombre de uno de los campos de esa tabla.
En cualquier caso, si lo vas a ingresar como variable, deber´sa construir la sentencia antes de enviarla a MySQL o bien deberás usar sentencias preparadas
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/03/2009, 09:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 10
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: select

correcto....pero lo que quiero es que al pasarle un valor a la variable.....el select se haga para todos los valores de la variable......como si esta no apareciera...asi

SELECT count(*) as Usuarios FROM
usuarios WHERE
GROUP BY vinculo

y si el usuario escoje un valor el query no se cambie por el que puse al principio...
  #4 (permalink)  
Antiguo 18/03/2009, 11:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: select

Las úncas soluciones que tienes son o construir las sentencias dinámicamente (creando el string con el valor de la variable en el momento), o bien una sentencia preparada, que hace la misma tarea, pero dentro de la base. Esto es porque el GROUP BY requiere si o si que el agrupamiento sea por el nombre un campo de la tabla, de modo que el string de la sentencia tiene que contener ese campo si o si.
En el primer caso, lo deberás hacer en la aplicación. No hay otra solución.
El segundo caso requerirá un Store Procedure, o bien una sentencia EXECUTE donde se pasen los parámetros. En cualquier caso, debes construir la sentencia con las variables como lo muestra el link.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 18/03/2009, 11:50
 
Fecha de Ingreso: noviembre-2008
Mensajes: 10
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: select

lo encontre, gnzsoloyo...muchas gracias por responderme.....mira

SELECT count(*) as Usuarios
FROM usuarios
WHERE vinculo LIKE '%variable_php%'
GROUP BY vinculo

si el usuario no escoge y variable_php esta vacia...entonces el where desaparece...

muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.