Solved

I don't know how to pull this specific information using SQL in MS Access?

Posted on 2009-04-06
2
166 Views
Last Modified: 2012-05-06
This shows all the upc's that have been sold in the past month.

I want to show all upc's that have been sold TWICE in the past month and have a quantity of less than 5.
SELECT UPC
 
FROM salesitems, salelineitem
 
Where salelineitem.sku = salesitems.sku
 
and exists
 
 (select sku
from saleLineitem, salesno
where salelineitem.saleno = salesno.saleno
and Exists (Select * From salesitems, salelineitem Where salesitems.sku = salelineitem.sku
and salelineitem.sku < 5)
and SalesNo.SaleDate <= DATE()
AND SalesNo.SaleDate >= DATEADD("m", -1, DATE()) );

Open in new window

0
Comment
Question by:jnreinsch
2 Comments
 
LVL 12

Accepted Solution

by:
koutny earned 125 total points
ID: 24085423
First of all I would get rid of the exists conditions and use joins instead - the performance will be much better.

Secondly, I would create an auxiliardy query (say it's called query_number_of_sales) which would provide the number of sales in the past month for all products with sale quantity < 5.

Then a separate query could show the list of products which have been sold exactly twice, or at least twice etc.
--SQL code for query_number_of_sales:
 
SELECT saleLineitem.sku, Count(saleLineitem.sku) as NumberOfSales
FROM  saleLineitem INNER JOIN salesno
ON  salelineitem.saleno = salesno.saleno
WHERE salelineitem.sku < 5
AND SalesNo.SaleDate <= Date()
AND SalesNo.SaleDate >= Dateadd("m", -1, Date()) 
GROUP BY saleLineitem.sku
 
--final query:
 
SELECT SI.UPC
 FROM salesitems SI INNER JOIN query_number_of_sales QNS ON 
 SI.sku = QNS.sku
 
Where QNS.NumberOfSales = 2

Open in new window

0
 

Author Closing Comment

by:jnreinsch
ID: 31567364
thanks very much I'm new to this SQL stuff.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In database programming, custom sort order seems to be necessary quite often, at least in my experience and time here at EE. Within the realm of custom sorting is the sorting of numbers and text independently (i.e., treating the numbers as number…
This article describes how to use the timestamp of existing data in a database to allow Tableau to calculate the prior work day instead of relying on case statements or if statements to calculate the days of the week.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question