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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  2 join en una misma tabla a un mismo campo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: 2 join en una misma tabla a un mismo campo  (Leído 12,266 veces)
N4X

Desconectado Desconectado

Mensajes: 74



Ver Perfil WWW
2 join en una misma tabla a un mismo campo
« en: 3 Febrero 2010, 16:11 pm »

bueno.. como no vengo yo a dar problemas ....

Tengo una tabla de comentarios que guarda entre otras cosas la id del autor y la id del moderador que acepta dicho comentario...

bien yo hago un join a la tabla de usuarios para ver el real_name del usuario

pero no tengo idea como hacer el join a la tabla para ver también el real_name del moderador...

Código
  1. mysql> DESCRIBE web_news_comments;
  2. +------------+-----------------------+------+-----+-------------------+----------------+
  3. | FIELD      | TYPE                  | NULL | KEY | DEFAULT           | Extra       |
  4. +------------+-----------------------+------+-----+-------------------+----------------+
  5. | id_com     | INT(10) UNSIGNED      | NO   | PRI | NULL              | AUTO_INCREMENT |
  6. | id_new     | INT(10) UNSIGNED      | NO   | MUL | NULL              |       |
  7. | autor      | mediumint(8) UNSIGNED | NO   | MUL | NULL              |       |
  8. | comentario | VARCHAR(255)          | NO   |     | NULL              |       |
  9. | hora       | TIMESTAMP             | NO   |     | CURRENT_TIMESTAMP |       |
  10. | id_mod     | mediumint(8) UNSIGNED | YES  | MUL | NULL              |       |
  11. +------------+-----------------------+------+-----+-------------------+----------------+

y la consulta que tengo ahora es:

Código
  1. mysql> SELECT c.id_com AS id, m.real_name AS autor, c.comentario, c.hora, m.REAL
  2. _name AS id_mod FROM web_news_comments c, smf_members m WHERE id_new = 14 AND id_mod IS no
  3. t NULL AND c.autor = m.id_member;
  4. +----+-------+------------+---------------------+-----------+
  5. | id | autor | comentario | hora                | id_mod |
  6. +----+-------+------------+---------------------+-----------+
  7. |  9 | MOD   | asdas      | 2010-02-03 15:42:06 | MOD       |
  8. +----+-------+------------+---------------------+-----------+
  9. 1 ROW IN SET (0.00 sec)

como es normal me saca en autor e id_mod el mismo nombre cuando son distintos.. solo que no he sabido seguirlo...

pd. la tabla smf_members es muy larga pero por decir algo seria

id - login_name - real_name

saludos
nax


En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #1 en: 3 Febrero 2010, 16:25 pm »

Presumo que el real_name del usuario y el real_name del moderador provienen de 2 tablas distintas... Por tal motivo puedes hacer lo siguiente...

Ejecutas la consulta donde listas inicialmente a los usuarios. (Creas una vista)

luego ejecutas otra consulta donde listas a los moderadores. (Creas una vista)

y por ultimo un UNION...! (Creas la última vista con las 2 vistas anteriores)

Espero me comprendas...! Es lo que yo haría y no me complico tanto la vida...!


En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
N4X

Desconectado Desconectado

Mensajes: 74



Ver Perfil WWW
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #2 en: 3 Febrero 2010, 17:11 pm »

misma tabla mismo campo no hay mas de lo que he listado
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #3 en: 3 Febrero 2010, 18:08 pm »

A ver, ve si esto funciona...

Código
  1. SELECT C.id_com,m.real_name AS autor,c.comentario, c.hora,
  2. (SELECT DISTINCT m.real_name FROM m WHERE m.id_member=c.id_mod) AS Nombre_mod FROM web_news_comments C,
  3. smf_members m WHERE id_new = 14 AND c.autor = m.id_member;
  4.  
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
N4X

Desconectado Desconectado

Mensajes: 74



Ver Perfil WWW
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #4 en: 3 Febrero 2010, 18:15 pm »

le he agregado dos cosillas porque daba error en la tabla pero funciona perfectamente gracias

query
Código
  1. SELECT C.id_com,m.real_name AS autor,c.comentario, c.hora,
  2. (SELECT DISTINCT m.real_name FROM smf_members m WHERE m.id_member=c.id_mod) AS Nombre_mod FROM web_news_comments c,
  3. smf_members m WHERE id_new = 14 AND c.autor = m.id_member AND c.id_mod IS NOT NULL;

salida:

Código
  1. +--------+-------+------------+---------------------+------------+
  2. | id_com | autor | comentario | hora                | Nombre_mod |
  3. +--------+-------+------------+---------------------+------------+
  4. |      9 | MOD   | asdas      | 2010-02-03 15:42:06 | global     |
  5. +--------+-------+------------+---------------------+------------+
  6. 1 ROW IN SET (0.00 sec)
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #5 en: 3 Febrero 2010, 18:17 pm »

De nada, cualquier duda postea...!
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #6 en: 3 Febrero 2010, 21:47 pm »

Lol otra vez llegue tarde  :xD   :xD   :xD 

Es que estoy en examenes y eso me limita muchisimo el tiempo  :-\

Pero me alegro que otros usuarios esten aportando a la causa  ;D
En línea

:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #7 en: 3 Febrero 2010, 21:52 pm »

Lol otra vez llegue tarde  :xD   :xD   :xD 

Es que estoy en examenes y eso me limita muchisimo el tiempo  :-\

Pero me alegro que otros usuarios esten aportando a la causa  ;D

Clonemos a ^TiFa^  :xD :xD
En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #8 en: 4 Febrero 2010, 00:48 am »

Jajaja... No importa si yo me quedo con el clon?
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: 2 join en una misma tabla a un mismo campo
« Respuesta #9 en: 4 Febrero 2010, 15:16 pm »

Pero que es esto de clonarme   :huh: 
En línea

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

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines