Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2007, 18:13
Martinico
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 18 años
Puntos: 0
Lógica de una consulta SQL

Hola, estoy trabajando en SQL server 2000, pero más que nada mi pregunta es de SQL básico, y es la siguiente:

Tengo una base de datos, en la cual hay dos tablas una es Clientes y otra Factura (hay otras)

Clientes tiene como campos: Clicod y Clinom
Facturas tiene como campos: Faccod, Facdat (fecha), Facmon (Monto)

y necesito hacer una view, para ver el nombre del cliente y el monto de la factura tal que, dicha factura no tiene
una antiguedad mayor a 30 días, es decir, hoy es 23 de marzo de 2007, entonces quiero los clientes cuya fecha de la factura
sea del 23 de febrero de 2007 hasta hoy.

lo que implementé es lo siguiente:


CREATE VIEW dbo.[Clientes con facturas menores a 30 dias]
AS

SELECT Clientes.*

FROM dbo.Clientes INNER OUTER JOIN
dbo.Facturas ON dbo.Clientes.clicod = dbo.Facturas.clicod

WHERE (GETDATE() - dbo.Facturas.facdat < 30)


la parte del where la entiendo perfectamente, el tema es que me da error: "Near OUTER", pero lo hace sólo sql esa parte
asi que no es un problema de sintaxis

quiciera saber si esta mal encarado, o si es necesario hacer group by, o left join para estos casos...
no importa la sintaxis, no entiendo la lógica que tiene que tener, a no ser la del where repito.

gracias, y disculpen que me haya extendido.

Martín