Problemas con SP
SOLUCIÓN PROPUESTA
El problema radica en que quieres filtrar los resultados por medio de los inner join, lo cual esta mal en principio. Los filtos en las consultas van despues de la Sentencia WHERE.
SELECT *
FROM dbo.Table_1 INNER JOIN
dbo.Table_2 ON dbo.Table_1.dato = dbo.Table_2.dato
WHERE dbo.Table_1.dato=@dato
Al tu intentar filtrar en el inner join, la base de datos no sabe como relacionar los registros uno a uno por medio de un id y por lo tanto une el resultado de las tablas.
Es importante que revises si en las tablas tienes un campo id que permita la relacion de las tablas porque de no ser asi, tendras que agregarlo.
Te envio un cordial saludo
Atentamente,
Raúl Guerrero
http://superneurona.blogspot.com/
MENSAJE ORIGINAL
Hola, tengo el siguiente codigo...
declare @Nombre varchar(50), @FechaDesde datetime, @FechaHasta datetime
set @Nombre='per'
set @FechaDesde='03/08/1973'
set @FechaHasta='01/01/2009'
select cambioshistorico.codven, cambioshistorico.fecha,
cliente.codcli, cliente.apellnomb,
cambioshistorico.descripcion, cambioshistorico.importe
from cambioshistorico
inner join ventas on ventas.tipo='n'
inner join cliente on cliente.apellnomb like @nombre + '%' and
cliente.codcli=ventas.codcli
and ventas.tipo='n'
and cambioshistorico.Fecha between @fechaDesde
and @fechaHasta
Esto me deberia tirar la siguiente lista:
2014 2006-03-08 00:00:00.000 24 PERALTA CEFERINA F -15.7000
2009 2006-03-07 00:00:00.000 321 PEREZ
-18.1800
Pero en su lugar me tira esto otro...
2014 2006-03-08 00:00:00.000 24 PERALTA CEFERINA F -15.7000
2009 2006-03-07 00:00:00.000 24 PERALTA CEFERINA -18.1800
2014 2006-03-08 00:00:00.000 321 PEREZ IGNACIO F -15.7000
2009 2006-03-07 00:00:00.000 321 PEREZ
-18.1800
¿Por que es esto y como lo soluciono?
Daniel
REFERENCIA AL GRUPO DE NOTICIAS:
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.es.dotnet.vb&mid=06bef86e-90f4-45f6-b474-d830503808f4&sloc=en-us


0 Comments:
Publicar un comentario en la entrada
<< Home