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

Ayuda con Group By

Estas en el tema de Ayuda con Group By en el foro de PostgreSQL en Foros del Web. Hola a todos, Tengo una duda al hacer una consulta, y me gustaría que me asesoraran para poder hacer lo que quiero, Tengo 3 tablas ...
  #1 (permalink)  
Antiguo 08/07/2009, 08:06
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta Ayuda con Group By

Hola a todos,

Tengo una duda al hacer una consulta, y me gustaría que me asesoraran para poder hacer lo que quiero,

Tengo 3 tablas con las cuales hago una consulta para obtener los registros de cuantos productos (playeras) he vendido en determinado tiempo,

Pero lo que no he podido resolver es como ordenarlos por tipos de talla, es decir, me gustaría tenerlos como S, M, L, XL.....

Esta es el query que tengo actualmente,

Código PHP:
SELECT SUM(qty) AS qtySUM(order_items.price qty) / SUM(qty) AS priceSUM(reimbursement_tracker.amount) AS reim,  
order_items.prod_idorder_items.sizeorder_items.color FROM order_items INNER JOIN orders ON (order_items.order_id orders.idLEFT JOIN reimbursement_tracker ON (order_items.prod_id reimbursement_tracker.prod_id AND 
orders.id reimbursement_tracker.order_idWHERE orders.site_id '.intval($_POST['site']).' 
AND order_items.prod_id '.$product['prod_id'].' AND order_items.select_list ''.$product['design'].'\' AND orderdate >= \''.$fromDate.'\' AND orderdate < \''.$toDate
GROUP BY order_items.prod_idorder_items.size---?????, order_items.color 
Existe una manerda de poder hacer esto que requiero mediante el Group By??

De antemano muchas gracias

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #2 (permalink)  
Antiguo 09/07/2009, 09:37
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Ayuda con Group By

Oye que datos de ejemplo te arroja esa consulta?

Por que no puedes usar un simple ORDER BY?
  #3 (permalink)  
Antiguo 09/07/2009, 09:40
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Ayuda con Group By

Hola,

Me arroja resultados com: L, XL, S, 2XL, M
y como los necesito, es S, M, L, XL, 2XL


Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #4 (permalink)  
Antiguo 09/07/2009, 09:56
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Ayuda con Group By

No te entiendo bien, pero como lo haria seria crear una pequeña tabla de orden de reporte (OrdenRep) donde le aregaria el orden que deseas, algo asi como esto
Código:
talla       Orden

L              1
XL            2
S           3
....
Esta tabla la relacionas con el query que pusiste y le das ORDER BY OrdenRep.Orden
  #5 (permalink)  
Antiguo 09/07/2009, 16:02
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Ayuda con Group By

Es lo que hice, genere un nuevo campo para darle orden a las medidas, y así no tener tanto problema en tratar de resolver lo que en un principio quería hacer.

Muchas gracias
Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #6 (permalink)  
Antiguo 09/07/2009, 16:23
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Ayuda con Group By

Generaste un nuevo campo en la tabla que ya tenias? si es asi no te lo aconsejo ya que en primer lugar si tienes 20 registros de tipo M, tendrias que poner en 20 registros el numero 2, que es el orden que le corresponde al igual que con las otras tallas, y si decides cambiar el orden del reporte, tendrias que actualizar esos datos en los 20 resgistros tambien.

En cambio si tienes una sola tabla de orden de reportes, esa misma la puedes usar para otros reportes que tengan un orden especial, ademas que solo tendrias que actualizar los campos de un solo registro....

Bueno de cualquier manera lo solucionaste, pero a mi siempre me pasa que me ando complicando la vida pensando en posibles modificaciones a futuro suerte
  #7 (permalink)  
Antiguo 13/07/2009, 09:15
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Ayuda con Group By

No revisé la query, pero, es posible que haga falta visualizar la estrucutra de la(s) tabla(s) para ayudarte.

Digamos, sí le dices que ordene por la talla, y la talla son las letras S, M, L, XL, etc, pues, lo ordenará, pero por orden alfabético que es lo que el SQL entiende. Sí está en una tabla aparte, sería reordenar la tabla según como quieras que aaprezca, síno, podrías utilizar un CASE, quizás...

Dudo que sean óptimas estas propuestas, pero, sí no se tiene claro la estructura y/o el diseño de la BD, pues, dispárate sobrarán...
__________________
Gracias de todas todas
-----
Linux!
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 16:32.