Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2010, 19:50
enridp
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 19 años, 9 meses
Puntos: 11
Esta bien consultar tablas heredadas asi?

Hola!!!

Pongo un ejemplo que no es mío pero que igual sirve:



En el ejemplo de arriba, supongamos que queremos obtener los 10 primeros productos (con los datos de Food y Drink segun corresponda)?

En principio se me ocurre que podríamos hacer algo como esto:

SELECT p.*, f.*, d.*
FROM Products p
LEFT JOIN Food f ON p.product_id = f.product_id
LEFT JOIN Drink d ON p.product_id = d.product_id
WHERE p.product_id < 11

Pero en ese caso estamos recorriendo siempre la tabla Food y Drink por cada Producto (aunque solo necesitamos una de las dos ya que son exclusivas), esto supongo hace la consulta un poco más lenta. Y ademas me va a devolver muchos valores NULL en cada fila.

Hay una mejor forma?
Me convendría agragar un campo "tipoDeProducto" a Products para primero detectar si es Food o Drink y hacer una consulta de acuerdo a si es Food o Drink?