SQL Server - Ayuda con consulta

   
Vista:

Ayuda con consulta

Publicado por lender marck9106@hotmail.com (10 intervenciones) el 25/04/2014 00:54:18
Buens tardes, temgo que hacer la siguiente consulta:

en la tabla OITM tengo todos los item de la empresa en la tabla INV1 tengo todas las facturas de la empresa me dijeron que buscara los productos que nunca han sido vendido lo hize con el siguiente query:
Select I.ItemCode, ItemName, Dscription from OITM I left join INV1 F on I.ItemCode=F.ItemCode
where F.ItemCode is null
me arroja todos los productos que nunca han estado en facturas


ahora mi jefe me dice que necesita saber que productos no se vendieron de una fecha x a y
por ejemplo que items no se vendieron entre el 01/01/2014 y el 10/01/2014 no se como hacerlo la tabla INV1 tengo el campo CreateDate que es el dia en el que se creo la factura y en la tabla OITM tengo tambien CreateDate pero es la fecha en la que se subio el producto a la tabla de inventario.

no tengo idea si quiera de como relacionarlos.

espero me puedan ayudar.

mil gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Ayuda con consulta

Publicado por Isaias (3181 intervenciones) el 25/04/2014 18:19:41
Lender

Una REGLA de los foros, es NO REPETIR LAS PREGUNTAS, ya le hice un comentario a su duda, ¿lo probo, funciono?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con consulta

Publicado por lender (10 intervenciones) el 28/04/2014 21:26:33
Hola isaias

ya genere el codigo para la consulta pero tengo una cosa que no me cuadra, este es el query:

SELECT I.ItemCode, I.ItemName
FROM OITM I
WHERE I.ItemCode not in
(SELECT D.ItemCode FROM OINV F left join INV1 D ON F.DocEntry = D.DocEntry
WHERE F.DocDate between '20131101'and '20131105')

mientras el rango de fecha este entre 1 mes mas o menos me arroja lo que no se ha movido de inventario en ese rango de fecha, pero por ejemplo si cambio la fecha por WHERE F.DocDate between '20130801'and '20131105') no me arroja nada pero si busco solo lo del mes de agosto si me lo ubica, a que se podrá deber esto?

y que pena no había visto el ultimo mensaje de la otra pregunta por eso volví a consultar.

Mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Ayuda con consulta

Publicado por Isaias (3181 intervenciones) el 29/04/2014 00:10:09
En el ejemplo que te puse, NUNCA utilice un IN(subconsulta), ¿cierto?

Hay una razón poderosa, el hacer un IN de una subconsulta es muy lenta la respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar