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

Consulta de selecion en sql jodidilla

Estas en el tema de Consulta de selecion en sql jodidilla en el foro de Bases de Datos General en Foros del Web. Consulta: Volumen de ventas de articulos sin ofertas en un mes dado. Uso la tabla articulos, la tabla genera_oferta (tengo la tabla ofertas donde creo ...
  #1 (permalink)  
Antiguo 11/03/2004, 20:48
Avatar de sowhat  
Fecha de Ingreso: mayo-2002
Ubicación: España, Valladolid
Mensajes: 152
Antigüedad: 22 años, 6 meses
Puntos: 0
Consulta de selecion en sql jodidilla

Consulta: Volumen de ventas de articulos sin ofertas en un mes dado.

Uso la tabla articulos, la tabla genera_oferta (tengo la tabla ofertas donde creo ofertas pero para aplicar la oferta uso la tabla genera ofertas intermedia entre ofertas y articulos) y la tabla linea_detalle donde va cada venta de cada articulo.

Yo he sacado esta consulta:

select sum(numero_linea.subtotal),articulos.codigo_articu lo
from articulos,numero_linea
where articulos.codigo_articulo=numero_linea.codigo_arti culo and and datepart(mm,ticket.fecha)='aki el mes' and datepart(yyyy,ticket.fecha)='aki el año'
group by articulos.codigo_articulo
HAVING ((articulos.Codigo_articulo) Not In (select codigo_articulo from genera_oferta));

Donde efectivamente me sale el total de cada articulo que no este en la tabla genera_oferta(osea que no tiene oferta), pero si leemos la consulta dice articulos sin ofertas en un mes dado por lo cual el articulo puede estar contenido en esa tabla pero la fecha actual no tiene que estar comprendida entre fecha inicio y fecha fin de la oferta.

A alguien se le ocurre alguna pista?? Si puede ser antes de 14 horas ya que tengo que presentar esto en ese plazo.

Tambien habia pensado en un desencadenador que cuando la fecha del sistema sea mayor a la de fecha fin de cualquier oferta borre el registro asi funcionaria la consulta escrita, pero ni se si se podria crear ese desencadenador(yo solo se un poco de triggers)

Última edición por sowhat; 11/03/2004 a las 20:59
  #2 (permalink)  
Antiguo 12/03/2004, 03:08
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 7 meses
Puntos: 0
Filtra también la tabla genera_oferta por el mes que te piden

CREATE Procedure Ejemplo (@FechaBuscar datetime) as

select sum(numero_linea.subtotal),articulos.codigo_articu lo
from articulos,numero_linea
where articulos.codigo_articulo=numero_linea.codigo_arti culo and datepart(mm,ticket.fecha)=datepart(mm, @FechaBuscar ) and datepart(yyyy,ticket.fecha)=datepart(yyyy, @FechaBuscar )
group by articulos.codigo_articulo
HAVING ((articulos.Codigo_articulo) Not In (select codigo_articulo from genera_oferta WHERE datepart(mm, genera_oferta.fecha)=datepart(mm, @FechaBuscar ) and datepart(yyyy, genera_oferta.fecha)=datepart(yyyy, @FechaBuscar )));


RETURN

Supongo que esto es lo que pides

Un saludo
  #3 (permalink)  
Antiguo 12/03/2004, 19:23
Avatar de sowhat  
Fecha de Ingreso: mayo-2002
Ubicación: España, Valladolid
Mensajes: 152
Antigüedad: 22 años, 6 meses
Puntos: 0
Al final no me dio tiempo a ver esta respuesta pq por las mñs no tengo internet parece mas efectiva que la que yo pense despues de varias horas jeje.
Yo pense hacer una select donde cogiera articulos ke no estuviesen en la tabla genera_oferta union otra select donde cogiera los articulos que estuviesen en genera_oferta pero la fecha no fuese valida.

Gracias!!
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 14:17.