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.