Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Lógica de una consulta SQL

Estas en el tema de Lógica de una consulta SQL en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 23/03/2007, 18:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 2 meses
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
  #2 (permalink)  
Antiguo 28/03/2007, 10:52
 
Fecha de Ingreso: enero-2002
Mensajes: 41
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Lógica de una consulta SQL

Ahí te debe de funcionar!!!!


SELECT Clientes.*

FROM dbo.Clientes INNER JOIN
dbo.Facturas ON dbo.Clientes.clicod = dbo.Facturas.clicod
WHERE (GETDATE() - dbo.Facturas.facdat < 30)
__________________
"Si exagerasemos nuestras alegrías como hacemos con nuestras tristezas, nuestros problemas perderían importancia"
Anatole France
  #3 (permalink)  
Antiguo 28/03/2007, 10:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 182
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Lógica de una consulta SQL

si si, muy amable, anda bien, pero indpte de la sintaxis me confundi por la lógica de la consulta, pero era un día que no estaba inspirado
Gracias por responder

Martinico
  #4 (permalink)  
Antiguo 28/03/2007, 20:48
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Lógica de una consulta SQL

Ojo, espero que hayas visto el problema.

INNER y OUTER son "mutuamente excluyentes", es decir, que usas uno u otro, pero no ambos a la vez.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:35.