Probablemente te falta una condicion en una de las clausulas On (del Join).
Tu puedes buscar donde falta sistematicamente:
Seguramente la siguiente recuperación es correcta
Que pasa con la siguiente?
Código SQL:
Ver originalSELECT * FROM Pesos
INNER JOIN Optimas ON optimas.codigo = pesos.codoptima
si existen filas redundantes - te falta una restricción entre estas dos tablas.
Si no - intenta la proxima:
Código SQL:
Ver originalSELECT * FROM Pesos
INNER JOIN Optimas ON optimas.codigo = pesos.codoptima
INNER JOIN htargets ON htargets.codOptima=pesos.codOptima AND datediff(DAY, htargets.fecha, pesos.fecha)=0 AND DATEPART(Hh, pesos.fecha)=DATEPART(Hh,htargets.fecha)
si ahora hay filas redundantes - entonces aquí te falta la restricción (entre la primera y la tercera o entre la segunda y la tercera).
Espero que te sirva de ayuda.