elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Duda en consulta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Duda en consulta  (Leído 10,857 veces)
sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.391


GJDAM 愛している


Ver Perfil
Re: Duda en consulta
« Respuesta #10 en: 15 Diciembre 2009, 16:19 pm »


yo lo haria de esta forma, los campos se llaman distinto pero la idea se entiende

Código
  1. SELECT COUNT(codigo) veces, codigo FROM saldos GROUP BY codigo ORDER BY veces DESC
  2. variable = query.veces
  3. SELECT * FROM query WHERE veces = variable
  4.  
si ordeno el resultado de forma descendente, se que el primer registro del cursor sera el mayor o igual, entonces lo capturo en una  variable, luego hago una segunda consulta al resultado anterior y le filtro el campo veces, de este modo, no importara cuantas veces aparecezca, me lo tomara todas, nose si me di a entender xD

en una sola consulta creo que no se puede, lo intente de varias formas :/ 


En línea

...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE
fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Duda en consulta
« Respuesta #11 en: 15 Diciembre 2009, 17:51 pm »

uhh, pense que era una sola tabla  :xD, jajaja

yo lo haria con una sola tabla (menos dolor de cabeza  :P).


saludos y disculpen mi error

PD:300 al fin! jajaja


En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Duda en consulta
« Respuesta #12 en: 15 Diciembre 2009, 17:56 pm »

Yo haria una vista y salgo del asunto de siempre tener que obtener el valor en una variable y luego llamarlo... sobretodo porque las variables son temporales, seguido te desconectas del motor el dato volatil se flushea.

Y estar constantemente haciendo 2 consultas (una para asignar valor a la variable otra para llamar ese valor) no lo aplicaria yo pero... para gustos.

Si quieres puedes hacer una vista que se mantendra siempre actualizada a los datos de ambas tablas, ejemplo:

Código
  1.  
  2. mysql> SELECT usuarios.nombres, COUNT(posts.pid) veces FROM usuarios INNER JOIN posts WHERE usuarios.id = posts.id GROUP BY(usuarios.id);
  3. +---------+-------+
  4. | nombres | veces |
  5. +---------+-------+
  6. | pepe    |     6 |
  7. | Juan    |     4 |
  8. | Maria   |     6 |
  9. | Luis    |     2 |
  10. +---------+-------+
  11. 4 ROWS IN SET (0.00 sec)
  12.  
  13.  


Código
  1.  
  2. mysql> CREATE VIEW vista AS SELECT usuarios.nombres AS nombre, COUNT(posts.pid) AS veces FROM posts INNER JOIN usuarios WHERE usuarios.id = posts.id GROUP BY usuarios.id;
  3.  
  4. mysql> SELECT nombre, veces FROM vista WHERE veces = ( SELECT MAX(veces) FROM vista);
  5. +--------+-------+
  6. | nombre | veces |
  7. +--------+-------+
  8. | pepe   |     6 |
  9. | Maria  |     6 |
  10. +--------+-------+
  11. 2 ROWS IN SET (0.01 sec)
  12.  
  13.  

PD: El ejemplo anterior es basado en mis tablas ejemplos puestas anteriormente.
« Última modificación: 15 Diciembre 2009, 18:00 pm por ^TiFa^ » En línea

sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.391


GJDAM 愛している


Ver Perfil
Re: Duda en consulta
« Respuesta #13 en: 15 Diciembre 2009, 18:17 pm »

que curioso, a mi tambien se me ocurrio lo de la vista xD ,pero la deseche porque no estara siempre actualizada por lo menos, yo para actualizar uso REQUERY( ), entonces, dije, bah, en lugar de hacer 3 consulta 1) para actualizar la vista , 2) la que necesito y 3) la subconsulta, decide hacerlo de la forma que lo postee xD, aunque como tu dices para los gustos los colores, el caso es que esta resuelto  :)
En línea

...si la tuviera detendría el tiempo para verla como lo hago en este momento y seria feliz eternamente...
Descarga openSUSE
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Duda en consulta
« Respuesta #14 en: 15 Diciembre 2009, 18:26 pm »

Citar
que curioso, a mi tambien se me ocurrio lo de la vista xD ,pero la deseche porque no estara siempre actualizada

Recuerda corazon que la vista sencillamente es una tabla virtual no existe fisicamente, sus datos siempre reflejan lo que las tablas padres que lo componen posee. Por ende si se elimina, actualiza, inserta algun dato en un campo de la tabla padre, dicho campo tendra automaticamente la misma modificacion en la vista  ;)

Creo que con la vista creada ya es mas facil porke basaria 1 sola consulta siempre sobre la vista y asi obtendria lo que busca de manera siempre actualizada.
« Última modificación: 15 Diciembre 2009, 18:28 pm por ^TiFa^ » En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Duda en consulta
« Respuesta #15 en: 15 Diciembre 2009, 19:10 pm »

 :xD andaba medio perdido pero muchas gracias Tifa por tu explicación  :)
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Duda en consulta
« Respuesta #16 en: 16 Diciembre 2009, 03:47 am »

No pasa nada дٳ para eso estamos todos aqui  :D

Hay variadas maneras de el chico hacer lo que solicita, lo de la Vista es una, como tambien podria agregar 1 campo extra en la tabla usuarios que se llame por ejemplo 'veces' y que cada vez que X usuario haga un nuevo mensaje pues dicho campo 'veces' vaya creciendo de 1 en 1  ;)
Asi podria ahorrarse el costoso analisis del JOIN y consultar en base a una sola tabla 'Usuarios'.

Deben haber mas maneras de hacer lo que el pide, pero ya que estamos ofertando sugerencias.
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda consulta :S
Bases de Datos
patrickxxx 1 2,491 Último mensaje 17 Junio 2011, 20:28 pm
por Shell Root
duda con consulta sql
Bases de Datos
Mr.Blue 1 3,710 Último mensaje 4 Agosto 2011, 02:06 am
por Beakman
Duda consulta php.
PHP
elopez 4 2,579 Último mensaje 29 Mayo 2014, 23:51 pm
por Mokonauta
Duda consulta SQL
Bases de Datos
soyloqbuskas 8 5,368 Último mensaje 3 Junio 2016, 20:44 pm
por HdM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines