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)
| | | |-+  Ayuda con una consulta con tablas relacionadas mysql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con una consulta con tablas relacionadas mysql  (Leído 20,209 veces)
sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.391


GJDAM 愛している


Ver Perfil
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #10 en: 17 Noviembre 2009, 20:10 pm »

entonces usa esta consulta para verlos

Código
  1. SELECT id_alum,id_us FROM alumnos,usuarios

aca veremos si soy iguales o no


En línea

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


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #11 en: 17 Noviembre 2009, 20:21 pm »

Me crees si te digo que no me esta mostrando nada  ;D


En línea

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

Mensajes: 2.391


GJDAM 愛している


Ver Perfil
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #12 en: 17 Noviembre 2009, 20:23 pm »

jajajaja, las tablas estan vacias ¬¬  :xD
En línea

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


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #13 en: 17 Noviembre 2009, 20:30 pm »

no, lo revise y hay un solo registro y estan todos los campos completos.-
En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #14 en: 17 Noviembre 2009, 20:33 pm »

no, lo revise y hay un solo registro y estan todos los campos completos.-
:O Esto es raro, dame un screen y te creo. :xD

Haz un select a las tablas por separado y dejanos ver que tienen.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
sempus
Dakishimetai no ni...
Colaborador
***
Desconectado Desconectado

Mensajes: 2.391


GJDAM 愛している


Ver Perfil
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #15 en: 17 Noviembre 2009, 20:37 pm »

-Ramc- que incrédulo eres xD, yo si le creo, el error ha de estar en el código que usa para ejecutar la consulta, ya que según el código que el coloco no lo esta haciendo en la linea de comandos de MySQL y por lo tanto le creo que tenga almenos un registro :P

aunque quien sabe  :rolleyes:
En línea

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


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #16 en: 17 Noviembre 2009, 20:42 pm »

Si no selecciono la base de datos no va a mostrar nada no? jajajaj  sin querer borre la parte de mysql_select_db ;D. Me van a matar.

Pero bien...que creen? siguen los problemas, todas las consultas que haga me aparece "Resource id #4" nada mas. Ahora que esta pasando?

Gracias y disculpas.
En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #17 en: 17 Noviembre 2009, 21:38 pm »

Si no selecciono la base de datos no va a mostrar nada no? jajajaj  sin querer borre la parte de mysql_select_db ;D. Me van a matar.

Pero bien...que creen? siguen los problemas, todas las consultas que haga me aparece "Resource id #4" nada mas. Ahora que esta pasando?

Gracias y disculpas.
La función te devuelve un recurso que ahora utilizaras para sacar las columnas con funciones como: array mysql_fetch_row(resource $result )
Busca sobre esta y sobre mysql_num_rows(resource $result).

Aunque esto ya es de PHP. :P

Saludos.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #18 en: 18 Noviembre 2009, 02:03 am »

No se que registro tengas dentro de tu tabla, serias tan amable de postear que consultas estas utilizando? que registros tienes dentro de la tabla (Aunque sean 5 de ejemplo)... y bueno que codigo PHP (Aunque ya esa parte no corresponderia para este subforo, sino a PHP) obvia el codigo (Aunque por la respuesta que expones que siempre te retorna Resourse#4 y aunque no he visto tu tabla segun los campos que tienes este dato como que no concuerda... pareciera que es un fallo mas de codigo que de consulta) Pero sino es mucho pedir, podrias entras por el cliente MySQL (En una terminal o MS-DOS) y realizar la misma consulta SQL (que haces en tu codigo PHP) dentro del mismo motor MySQL y ver que te retorna y exponerlo aca?

Una recomendacion :) (para todos) Procura usar mas indices puesto que:

Cita de: sql

mysql> select * from usuarios;
+-------+---------+----------------------------------+
| id_us | usuario | contraseña                       |
+-------+---------+----------------------------------+
|     1 | coco    | 202cb962ac59075b964b07152d234b70 |
|     2 | shersy  | 202cb962ac59075b964b07152d234b70 |
|     3 | xoxo    | 202cb962ac59075b964b07152d234b70 |
+-------+---------+----------------------------------+
3 rows in set (0.00 sec)                               

mysql> select * from alumnos;
+---------+---------+---------+
| id_alum | nombres | colegio |
+---------+---------+---------+
|       1 | Juan    | Perez   |
|       2 | Maria   | Mendez  |
|       3 | Matias  | Lopez   |
+---------+---------+---------+
3 rows in set (0.00 sec)       


Lo anterior es un ejemplo, llaves primarias solo son id_alum y id_us por el momento, pero si solo quieres el campo 'colegio' y filtras por las 2 llaves de cada tabla mira que pasa:

Código
  1.  
  2. mysql> EXPLAIN SELECT colegio AS COLEGIO FROM alumnos INNER JOIN usuarios WHERE alumnos.id_alum = usuarios.id_us;
  3. +----+-------------+----------+--------+---------------+---------+---------+--------------------------+------+-------------+
  4. | id | select_type | TABLE    | TYPE   | possible_keys | KEY     | key_len | REF                      | ROWS | Extra       |
  5. +----+-------------+----------+--------+---------------+---------+---------+--------------------------+------+-------------+
  6. |  1 | SIMPLE      | alumnos  | ALL    | PRIMARY       | NULL    | NULL    | NULL                     |    3 |             |
  7. |  1 | SIMPLE      | usuarios | eq_ref | PRIMARY       | PRIMARY | 1       | primaria.alumnos.id_alum |    1 | USING INDEX |
  8. +----+-------------+----------+--------+---------------+---------+---------+--------------------------+------+-------------+
  9.  
  10.  
  11.  

Lo anterior muestra como la tabla alumnos para encontrar el campo 'Colegio' del usuario 'coco' tiene que rebuscar en todos los registros que contiene la tabla (Por eso no basta con hacer id = id esto buscara en todos los registros).

Sin embargo si haces:

Código
  1.  
  2. mysql> CREATE INDEX indice ON usuarios(usuario);
  3. Query OK, 3 ROWS affected (0.03 sec)
  4. Records: 3  Duplicates: 0  Warnings: 0
  5.  
  6. mysql> EXPLAIN SELECT colegio AS COLEGIO FROM alumnos,usuarios WHERE usuario = 'coco' AND alumnos.id_alum = ( SELECT id_us FROM usuarios WHERE usuario = 'coco');
  7. +----+-------------+----------+-------+---------------+---------+---------+-------+------+--------------------------+
  8. | id | select_type | TABLE    | TYPE  | possible_keys | KEY     | key_len | REF   | ROWS | Extra                    |
  9. +----+-------------+----------+-------+---------------+---------+---------+-------+------+--------------------------+
  10. |  1 | PRIMARY     | alumnos  | const | PRIMARY       | PRIMARY | 1       | const |    1 |                          |
  11. |  1 | PRIMARY     | usuarios | REF   | indice        | indice  | 21      | const |    1 | USING WHERE; USING INDEX |
  12. |  2 | SUBQUERY    | usuarios | REF   | indice        | indice  | 21      |       |    1 | USING WHERE              |
  13. +----+-------------+----------+-------+---------------+---------+---------+-------+------+--------------------------+
  14. 3 ROWS IN SET (0.00 sec)
  15.  
  16. mysql> EXPLAIN SELECT colegio AS COLEGIO FROM alumnos,usuarios WHERE usuario = 'coco' AND usuarios.id_us = alumnos.id_alum;                      +----+-------------+----------+--------+----------------+---------+---------+-------------------------+------+-------------+
  17. | id | select_type | TABLE    | TYPE   | possible_keys  | KEY     | key_len | REF                     | ROWS | Extra       |
  18. +----+-------------+----------+--------+----------------+---------+---------+-------------------------+------+-------------+
  19. |  1 | SIMPLE      | usuarios | REF    | PRIMARY,indice | indice  | 21      | const                   |    1 | USING WHERE |
  20. |  1 | SIMPLE      | alumnos  | eq_ref | PRIMARY        | PRIMARY | 1       | primaria.usuarios.id_us |    1 |             |
  21. +----+-------------+----------+--------+----------------+---------+---------+-------------------------+------+-------------+
  22. 2 ROWS IN SET (0.00 sec)
  23.  
  24.  
  25.  

En ambos casos de consultas donde hay hasta un subquery, ves como la consulta solo analiza 1 columna en vez de todas para retornarte el resultado???  ;)  ten pendiente que campos pueden ser candidatos a llave o indices en tu tabla para que le saques provecho de optimizacion a una consulta.

« Última modificación: 18 Noviembre 2009, 02:13 am por ^TiFa^ » En línea

mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Ayuda con una consulta con tablas relacionadas mysql
« Respuesta #19 en: 18 Noviembre 2009, 09:14 am »

Gracias a todos por su ayuda antes que nada. Ya lo que me dice ^TiFa^ es muy avanzado para mi y no lo entiendo. Y segui buscando y buscando pero no puedo hacer lo que quiero.  :-\
En línea

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
consulta para muestra con 2 tablas
Bases de Datos
maxmag 0 2,285 Último mensaje 4 Julio 2012, 05:43 am
por maxmag
Agregar datos a 2 tablas relacionadas a traves de visual basic
Programación Visual Basic
euphemia 0 2,307 Último mensaje 14 Diciembre 2013, 14:52 pm
por euphemia
Consultar tablas relacionadas en java de MYSQL
Java
soy_nicanor 3 6,061 Último mensaje 15 Febrero 2015, 16:34 pm
por Usuario Invitado
Consulta de multiples tablas de mysql
Bases de Datos
soy_nicanor 4 4,437 Último mensaje 17 Mayo 2015, 06:28 am
por ZeroVzla
consulta a estas tablas en mysql
Desarrollo Web
elmatador2 1 1,824 Último mensaje 14 Julio 2016, 16:02 pm
por soyloqbuskas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines