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


 


Tema destacado: [Aporte] Mejores practicas en Java


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con consulta SQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con consulta SQL  (Leído 726 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.052


Ingeniería inversa / MASM


Ver Perfil WWW
Ayuda con consulta SQL
« en: 25 Noviembre 2015, 12:32 »

Hola a todos, tengo una tabla más menos de la siguiente forma:

Citar
categoria1, categoria2, categoria3

Los datos que tienen son:
Citar
teconologia, computadores, notebook
tecnologia, computadores, notebook
tecnologia, computadores, ordenador
electrohogar, refrigeracion, freezer

¿Qué es lo que busco?
Mi intención es que en base a esa estructura de la tabla crear una consulta que me retorne una especie de menú:

Citar
tecnologia -> computadores -> notebook
                                         -> ordenador
electrohogar -> refrigeracion -> freezer

la verdad es que no se me ocurre, lo de las flechas es para que se entienda, pero la idea es que solo me devuelvan los nombres, sería la respuesta hacer una especia de tres group by anidados? (no sé si exista lo que digo, pero me arriesgaré jeje)

Muchas gracias por su tiempo


En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
ivancea96


Desconectado Desconectado

Mensajes: 3.215


ASMático


Ver Perfil WWW
Re: Ayuda con consulta SQL
« Respuesta #1 en: 25 Noviembre 2015, 16:31 »

¿El menú lo quieres en texto plano? Si es así, anidando GROUP BY, y concatenando con GROUP_CONCAT en caso de MySQL podría quedar bien :o


En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.052


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Ayuda con consulta SQL
« Respuesta #2 en: 25 Noviembre 2015, 21:33 »

Estoy intentando pero no lo consigo, GROUP_CONCAT, es una maravilla, pero no logro iluminar tal solución a mi problema, sé que me servirá conjunto PHP con explode, saludos.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
ivancea96


Desconectado Desconectado

Mensajes: 3.215


ASMático


Ver Perfil WWW
Re: Ayuda con consulta SQL
« Respuesta #3 en: 26 Noviembre 2015, 08:59 »

La representación, no te interesaría hacerla con otro lenguaje? Ya que bueno, sacar una representación así en SQL, parece forzar un poco la cosa xd
En línea

#!drvy
CoAdmin
***
Desconectado Desconectado

Mensajes: 4.630



Ver Perfil WWW
Re: Ayuda con consulta SQL
« Respuesta #4 en: 26 Noviembre 2015, 15:20 »

Citar
Ya que bueno, sacar una representación así en SQL, parece forzar un poco la cosa xd

Ni tanto.

Creo que saldrías mejor beneficiado pasándolo a a un lenguaje capaz de hacer estas cosas sin complicarse.

Aunque supongo que lo que quieres es algo asi:

Código
  1. CREATE TABLE productos (
  2.  `categoria1` VARCHAR(50),
  3.  `categoria2` VARCHAR(50),
  4.  `categoria3` VARCHAR(50)
  5. );
  6.  
  7. INSERT INTO productos (`categoria1`, `categoria2`, `categoria3`)
  8. VALUES
  9.    ('teconologia','computadores','notebook'),
  10.    ('teconologia','computadores','notebook'),
  11.    ('teconologia','olakase','notebook'),
  12.    ('teconologia','computadores','ordenador'),
  13.    ('electrohogar','refrigeracion','freezer')
  14. ;


Código
  1. SELECT DISTINCT categoria1, categoria2,
  2.  (GROUP_CONCAT(DISTINCT categoria3 SEPARATOR ',')) AS categoria3
  3. FROM productos GROUP BY categoria1, categoria2

Cuyo resultado seria,
Código:
|   categoria1 |    categoria2 |         categoria3 |
|--------------|---------------|--------------------|
| electrohogar | refrigeracion |            freezer |
|  teconologia |  computadores | notebook,ordenador |
|  teconologia |       olakase |           notebook |

Yo lo haría mas bien para que solo recoja los campos distintos,
Código
  1. SELECT DISTINCT categoria1,categoria2,categoria3 FROM productos

Lo cual me devolvería algo así:
Código:
|   categoria1 |    categoria2 | categoria3 |
|--------------|---------------|------------|
|  teconologia |  computadores |   notebook |
|  teconologia |       olakase |   notebook |
|  teconologia |  computadores |  ordenador |
| electrohogar | refrigeracion |    freezer |

Y luego solo seria recogerlo en un array con PHP (por ejemplo) de forma que se solapen las mismas categorías.

No se cual de los dos sera mas eficiente.

Saludos
« Última modificación: 26 Noviembre 2015, 15:34 por #!drvy » En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.052


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Ayuda con consulta SQL
« Respuesta #5 en: 26 Noviembre 2015, 21:27 »

lo diré sencillo, son unos c#$!!, muchas gracias funciona todo a la perfección  ;-)

muchas gracias por su constante ayuda  ;-)
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda consulta « 1 2 »
Programación Visual Basic
kakashi20 10 2,923 Último mensaje 14 Marzo 2010, 14:42
por raul338
Ayuda con Consulta. « 1 2 ... 7 8 »
Bases de Datos
royerphpmysql 71 19,431 Último mensaje 26 Abril 2010, 04:27
por ^Tifa^
Ayuda con Consulta « 1 2 »
PHP
royerphpmysql 17 3,831 Último mensaje 21 Marzo 2010, 22:18
por royerphpmysql
ayuda consulta
Programación Visual Basic
kakashi20 4 1,980 Último mensaje 13 Abril 2010, 15:06
por ssccaann43 ©
ayuda consulta
Dudas Generales
24592 4 804 Último mensaje 21 Noviembre 2014, 21:39
por tremolero
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines