Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/09/2008, 03:17
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Listar los campos de una tabla no relacionada

Cita:
En una base de datos de productos, tengo por una parte la tabla "familia" con los campos id_familia y nom_familia, por otra parte la tabla "artículos" con los campos referencia, familia_id, precio.
Puedes hacerlo de estas dos maneras, según la versión de MysQL que utilices. Yo recomiendo siempre la primera, pero si utilizas MySQL 4.1 o posterior, podrás buscar con la segunda, según creo. De todas formas, piensa lo que vas a hacer. Que una familia no tenga un producto ahora, no quiere decir que no lo pueda tener más tarde.

SELECT f.id_familia, f.nom_familia FROM familia f LEFT JOIN artículos a ON f.id_familia = a.familia_id WHERE a.familia_id IS NULL

SELECT id_familia, nom_familia FROM familia WHERE id_familia NOT IN (SELECT familia_id FROM artículos)