Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/11/2013, 03:30
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: seleccionar dos campos en una tabla

Efrén,
nos faltan datos tuyos que he tenido que inventar, como la estructura de tu tabla. Observa los que he probado. Finalmente, solucioné lo del orden creando un campo de orden.


Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tb_users` (
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `referer` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  4.   `refered` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  5.   PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=8 ;
  7.  
  8. --
  9. -- Volcar la base de datos para la tabla `tb_users`
  10. --
  11.  
  12. INSERT INTO `tb_users` (`id`, `referer`, `refered`) VALUES
  13. (1, 'Efrén', 'José'),
  14. (2, 'Efrén', 'María'),
  15. (3, 'Efrén', 'Juan'),
  16. (4, 'José', 'Daniel'),
  17. (5, 'José', 'Carlos'),
  18. (6, 'José', 'Rubén'),
  19. (7, 'María', 'Luis');
  20.  
  21.  
  22.  
  23.  
  24. (
  25. SELECT id orden, id, refered
  26. FROM tb_users
  27. WHERE referer = 'Efrén'
  28. )
  29.  
  30. SELECT t3.id orden, t2.id, t2.refered
  31. FROM tb_users t2
  32.  
  33. SELECT id, refered
  34. FROM tb_users
  35. WHERE referer = 'Efrén'
  36. )t3 ON t2.referer = t3.refered
  37. )
  38. ORDER BY orden

La salida es esta (observa que debajo de cada uno van sus referidos). Estos serían los que tienen que ver con Efrén, claro.

orden id refered
1 4 Daniel
1 5 Carlos
1 1 José
1 6 Rubén
2 2 María
2 7 Luis
3 3 Juan