Estoy desarrollando, + bien parcheando, una aplicacion en la q tengo q mostrar los datos de una vista ya hecha, no por mi, y q no puedo modificar. Tampoco puedo tocar las tablas implicadas.
Dicha vista es
Código:
La estructura, resumida, es q hay productos (tabla Producto), con/sin regalo, y "dentro" de cada producto, hay articulos (tabla Articulos).SELECT dbo.Producto.IDProducto, dbo.Producto.Descripcion, dbo.TemporalDetalle.IDCliente, dbo.TemporalDetalle.IdPedidoTmp, dbo.Regalos.Condicion, dbo.TemporalDetalle.IDDetalle, dbo.TemporalDetalle.Unidades AS UnidadesPedido, Producto_1.Descripcion AS DescripcionProductoRegalo, Producto_1.IDProducto AS IdProductoRegalo FROM dbo.Articulos INNER JOIN dbo.Regalos ON dbo.Articulos.IDArticulo = dbo.Regalos.IDArticuloAsociado INNER JOIN dbo.Producto ON dbo.Regalos.IDProducto = dbo.Producto.IDProducto INNER JOIN dbo.Articulos Articulos_1 ON dbo.Producto.IDProducto = Articulos_1.IDProducto INNER JOIN dbo.TemporalDetalle ON Articulos_1.IDArticulo = dbo.TemporalDetalle.IDArticulo INNER JOIN dbo.Producto Producto_1 ON dbo.Articulos.IDProducto = Producto_1.IDProducto WHERE (dbo.Producto.TipoRegalo = 'D') AND (dbo.Producto.Estado = 'A') AND (dbo.Producto.Regalo = 1)
En TemporalDetalle hay articulos, que "pertenecen" a un producto, y este puede tener regalo.
Dichos regalos son también articulos, q estarán en Articulos, y que se relacionan mediante la tabla Regalos.
La vista devuelve los regalos asociados a cada articulo q haya en TemporalDetalle, es decir, el regalo asociado al producto al q pertenece cada articulo.
El problema es q si hay articulos del mismo producto, el cual tiene regalo, me devuelve una tupla por cada articulo, es decir, duplica los regalos por cada producto, y lo q pretendo es q devuelva una sola.
¿Se os ocurre algo?.
Se q es lioso, pero espero haberme explicado. Si no, preguntar.
Salu2 y gracias.