Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Consulta rara MySQL para lograr una lista

Estas en el tema de Consulta rara MySQL para lograr una lista en el foro de Mysql en Foros del Web. Bueno chicos, me considero un nivel intermedio en SQL pero esto que quiero hacer me está ganando y a ver si hay alguien que me ...
  #1 (permalink)  
Antiguo 14/04/2016, 10:10
 
Fecha de Ingreso: abril-2016
Ubicación: Sevilla
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Consulta rara MySQL para lograr una lista

Bueno chicos, me considero un nivel intermedio en SQL pero esto que quiero hacer me está ganando y a ver si hay alguien que me ilumine. Por cierto, soy nuevo y os saludo a todos y gracias por responderme (cuando lo hagáis, jeje).

Bueno al lío, las tablas son muy grandes y complicadas pero resumiré con 2 o 3 campos lo que pretendo.

Tengo 1 tabla - productos (almacena los datos de los prodcutos)

Código C:
Ver original
  1. id     nombre
  2. 1     producto 1
  3. 2     producto 2
  4. 3     producto 3

Luego tengo otra tabla que guarda el stock de estos productos en diferentes almacenes, los almacenes puede crearse en la aplicación por lo que en un momento puede que haya 2 almacenes, en otro 5, etc, esta tabla muestra esta estructura (resumida claro)

Tabla 2 - stock
Código C:
Ver original
  1. id_product |  id_warehouse | stock
  2. 1                     1                 5
  3. 2                     1                 3
  4. 3                     1                 8
  5. 1                     2                 2
  6. 3                     2                 9
  7. 2                     3                 7
  8. 1                     3                 6

Bien, dado que los almacenes pueden ser uno o varios par aun mismo producto, aquí viene la pregunta, "qué consulta tendría que hacer yo para obtener el resultado que pongo a continuación"

Código C:
Ver original
  1. id_product   |   stock_warehouse_1 | stock_warehouse_2 | stock_warehouse_3 | stock_warehouse_n
  2. 1                5                   2                      3                              ...
  3. 2                3                  null                   3
  4. 3                8                   9                     null
La dificultad radica que el table resultante debe "crecer" en columnas dependiendo de la cantidad de "id_warehouses" que contenga la tabla de stock, la idea es ver de un tirón el stock que hay de cada producto en cada almacén.

Igual esto que estoy proponiendo es una absoluta tontería y no tiene solución, a ver, yo se hacerlo consultando y enlazando ambas tablas y luego desde código llevarlo todo a un datagrid, pero con 5 registros va perfecto, pero con 5000 ya la cosa se ralentiza un poco, y lo ideal sería poder asociar al datasource del datagrid una consulta que ya venga con dicha estructura.

Gracias a todos.
  #2 (permalink)  
Antiguo 14/04/2016, 11:22
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta rara MySQL para lograr una lista

Hola bconline:

Con una consulta "simple" no vas a poder lograr lo que quieres, sin embargo, hay algunas técnicas como las tablas PIVOT que te pueden servir, checa este ejemplo:

http://stratosprovatopoulos.com/web-...namic-columns/

Aquí básicamente se hace exactamente lo que quieres, independientemente de que los registros de tu tabla crezcan, incluso el autor te deja el ejemplo en SQL Fiddle:

http://sqlfiddle.com/#!2/0a068/6

agrega alguna categoría a la tabla product_additional y veras que la consulta funciona... Si continuas con problemas, postea algo de lo que intentaste hacer y con gusto te ayudamos a corregir/completar lo que haga falta.

Saludos
Leo.
  #3 (permalink)  
Antiguo 15/04/2016, 01:45
 
Fecha de Ingreso: abril-2016
Ubicación: Sevilla
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Respuesta: Consulta rara MySQL para lograr una lista

Gracias por responder tan rápido leonardo_josue, lo pruebo y te comento. Un Abrazo desde España.
  #4 (permalink)  
Antiguo 18/04/2016, 05:23
 
Fecha de Ingreso: abril-2016
Ubicación: Sevilla
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Respuesta: Consulta rara MySQL para lograr una lista

Gracias, me sirivó.

Etiquetas: campo, lista, lograr, registros, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:50.