Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/09/2011, 07:04
Avatar de moron
moron
 
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años
Puntos: 2
Respuesta: Duda con left join

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola moron:

Creo que el problema está en que estás poniendo la condición ProductoLocalizacion.lenguaje = 'es-AR' en el WHERE, sin embargo esta se aplica DESPUÉS DE HACER EL LEFT JOIN, por lo tanto estás obligando a que exista información en la tabla ProductoLocalizacion para poder mostrar la información, en otras palabras, estás haciendo un INNER JOIN, a reserva de que pruebas la opción de Iislas y funcione puedes intentar hacer esto:

Código SQL:
Ver original
  1. SELECT   
  2. dbo.Producto.IdProducto,
  3. dbo.Producto.Codigo,
  4. dbo.Producto.IdFamilia,
  5. dbo.Producto.StockCritico,
  6. dbo.Producto.Stock,
  7. dbo.Producto.Precio,
  8. dbo.ProductoLocalizacion.lenguaje,
  9. dbo.ProductoLocalizacion.nombre,
  10. dbo.ProductoLocalizacion.Descripcion
  11. FROM dbo.Producto LEFT JOIN dbo.ProductoLocalizacion
  12. ON
  13. dbo.ProductoLocalizacion.idProducto = dbo.Producto.IdProducto
  14. AND ProductoLocalizacion.lenguaje = 'es-AR'
  15. WHERE producto.idProducto=1

O también podrías hacer la condición así:

Código SQL:
Ver original
  1. SELECT   
  2. dbo.Producto.IdProducto,
  3. dbo.Producto.Codigo,
  4. dbo.Producto.IdFamilia,
  5. dbo.Producto.StockCritico,
  6. dbo.Producto.Stock,
  7. dbo.Producto.Precio,
  8. dbo.ProductoLocalizacion.lenguaje,
  9. dbo.ProductoLocalizacion.nombre,
  10. dbo.ProductoLocalizacion.Descripcion
  11. FROM dbo.Producto LEFT JOIN dbo.ProductoLocalizacion
  12. ON
  13. dbo.ProductoLocalizacion.idProducto = dbo.Producto.IdProducto
  14. WHERE producto.idProducto=1
  15. AND (ProductoLocalizacion.lenguaje = 'es-AR' OR ProductoLocalizacion.lenguaje IS NULL)

haz la prueba y nos comentas.

Saludos
Leo.
ahi vá. Muchas gracias