Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/10/2014, 07:14
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Ordenación de registros con relaciones

Cita:
Ya sé que no tiene mucho sentido tener estas dos tablas
Totalmente equivocado: Eso es normalización de BBDD, y si, el stock debe ir en una tabla diferente de la descripcion del producto. Lo que si no tiene sentido es que pongas un ID propio a la tabla stock si el producto se maneja con un stock único por cada producto.
Cita:
Necesito una consulta que me muestre todos los registros ordenador por el precio, pero que deje los productos sin stock al final, es decir que los muestre, pero los deje los últimos, los que tienen stock tiene que mostrarlos primero y ordenados por el precio.
Eso se hace con un UNION ALL, donde el primer SELECT busca los que tienen stock y el segundo los que no lo tienen.

Código SQL:
Ver original
  1. SELECT *
  2. FROM
  3.     (SELECT id_producto, nombre, stock
  4.     FROM producto P INNER JOIN stock S ON P.id = S..id_producto
  5.     WHERE stock > 0
  6.     ORDER BY S.precio ASC, S.sotck DESC) T1
  7. UNION ALL
  8. SELECT *
  9. FROM
  10.     (SELECT id_producto, nombre, IFNULL(stock, 0) stock
  11.     FROM producto P LEFT JOIN stock S ON P.id = S..id_producto
  12.     WHERE stock = 0 OR stock IS NULL
  13.     ORDER BY S.precio ASC) T2
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)