12/09/2011, 07:04
|
| | | Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años, 6 meses Puntos: 2 | |
Respuesta: Duda con left join Cita:
Iniciado por leonardo_josue 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 originalSELECT dbo.Producto.IdProducto, dbo.Producto.Codigo, dbo.Producto.IdFamilia, dbo.Producto.StockCritico, dbo.Producto.Stock, dbo.Producto.Precio, dbo.ProductoLocalizacion.lenguaje, dbo.ProductoLocalizacion.nombre, dbo.ProductoLocalizacion.Descripcion FROM dbo.Producto LEFT JOIN dbo.ProductoLocalizacion ON dbo.ProductoLocalizacion.idProducto = dbo.Producto.IdProducto AND ProductoLocalizacion.lenguaje = 'es-AR' WHERE producto.idProducto=1
O también podrías hacer la condición así:
Código SQL:
Ver originalSELECT dbo.Producto.IdProducto, dbo.Producto.Codigo, dbo.Producto.IdFamilia, dbo.Producto.StockCritico, dbo.Producto.Stock, dbo.Producto.Precio, dbo.ProductoLocalizacion.lenguaje, dbo.ProductoLocalizacion.nombre, dbo.ProductoLocalizacion.Descripcion FROM dbo.Producto LEFT JOIN dbo.ProductoLocalizacion ON dbo.ProductoLocalizacion.idProducto = dbo.Producto.IdProducto WHERE producto.idProducto=1 AND (ProductoLocalizacion.lenguaje = 'es-AR' OR ProductoLocalizacion.lenguaje IS NULL)
haz la prueba y nos comentas.
Saludos
Leo. ahi vá. Muchas gracias |