SanAntonioSpurFan
Instructor
I have a append query that runs great when there is 500 records but boggs down when there are more than 1000 records. Here's what the query does.
Fields:
Gen Code, UPC12, Brand, Description, Sales, ACV. There are about 40 fields for sales. They are different time frames.
The query does a couple of things. It look at UPC12 for duplicates and if it finds a dup, it sums sales for the dup records and takes the max for ACV. It also looks at Gen Code and takes the hight value to pick the correct Brand and Description.
Here the SQL the query produced....Sorry for the long code but most is duplicate info for each of the 40 sales fields.
Any way to speed up the query? Do I need all this for each field?
INSERT INTO RawData2 ( Dataset, [UPC Code], [Original Brand], Description, G1Dol52, G1Dol24, G1Dol12, G1Dol4, G1DolChg52, G1DolChg24, G1DolChg12, G1DolChg4, G1Un52, G1Un24, G1Un12, G1Un4, G1UnChg52, G1UnChg24, G1UnChg12, G1UnChg4, G1ACV52, G1ACV24, G1ACV12, G1ACV4, G2Dol52, G2Dol24, G2Dol12, G2Dol4, G2DolChg52, G2DolChg24, G2DolChg12, G2DolChg4, G2Un52, G2Un24, G2Un12, G2Un4, G2UnChg52, G2UnChg24, G2UnChg12, G2UnChg4, G2ACV52, G2ACV24, G2ACV12, G2ACV4 )
SELECT a.Dataset, a.[UPC Code 12], a.[Original Brand], a.Description, (select sum(G1Dol52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol52, (select sum(G1Dol24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol24, (select sum(G1Dol12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol12, (select sum(G1Dol4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol4, (select sum(G1DolChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg52, (select sum(G1DolChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg24, (select sum(G1DolChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg12, (select sum(G1DolChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg4, (select sum(G1Un52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un52, (select sum(G1Un24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un24, (select sum(G1Un12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un12, (select sum(G1Un4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un4, (select sum(G1UnChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg52, (select sum(G1UnChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg24, (select sum(G1UnChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg12, (select sum(G1UnChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg4, (select max(G1ACV52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV52, (select max(G1ACV24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV24, (select max(G1ACV12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV12, (select max(G1ACV4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV4, (select sum(G2Dol52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol52, (select sum(G2Dol24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol24, (select sum(G2Dol12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol12, (select sum(G2Dol4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol4, (select sum(G2DolChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg52, (select sum(G2DolChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg24, (select sum(G2DolChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg12, (select sum(G2DolChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg4, (select sum(G2Un52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un52, (select sum(G2Un24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un24, (select sum(G2Un12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un12, (select sum(G2Un4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un4, (select sum(G2UnChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg52, (select sum(G2UnChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg24, (select sum(G2UnChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg12, (select sum(G2UnChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg4, (select max(G2ACV52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV52, (select max(G2ACV24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV24, (select max(G2ACV12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV12, (select max(G2ACV4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV4
FROM RawData AS a
WHERE (((a.[Generation Code]) In (select max([Generation Code]) from RawData where [UPC Code 12] = a.[UPC Code 12])));
Fields:
Gen Code, UPC12, Brand, Description, Sales, ACV. There are about 40 fields for sales. They are different time frames.
The query does a couple of things. It look at UPC12 for duplicates and if it finds a dup, it sums sales for the dup records and takes the max for ACV. It also looks at Gen Code and takes the hight value to pick the correct Brand and Description.
Here the SQL the query produced....Sorry for the long code but most is duplicate info for each of the 40 sales fields.
Any way to speed up the query? Do I need all this for each field?
INSERT INTO RawData2 ( Dataset, [UPC Code], [Original Brand], Description, G1Dol52, G1Dol24, G1Dol12, G1Dol4, G1DolChg52, G1DolChg24, G1DolChg12, G1DolChg4, G1Un52, G1Un24, G1Un12, G1Un4, G1UnChg52, G1UnChg24, G1UnChg12, G1UnChg4, G1ACV52, G1ACV24, G1ACV12, G1ACV4, G2Dol52, G2Dol24, G2Dol12, G2Dol4, G2DolChg52, G2DolChg24, G2DolChg12, G2DolChg4, G2Un52, G2Un24, G2Un12, G2Un4, G2UnChg52, G2UnChg24, G2UnChg12, G2UnChg4, G2ACV52, G2ACV24, G2ACV12, G2ACV4 )
SELECT a.Dataset, a.[UPC Code 12], a.[Original Brand], a.Description, (select sum(G1Dol52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol52, (select sum(G1Dol24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol24, (select sum(G1Dol12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol12, (select sum(G1Dol4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Dol4, (select sum(G1DolChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg52, (select sum(G1DolChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg24, (select sum(G1DolChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg12, (select sum(G1DolChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1DolChg4, (select sum(G1Un52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un52, (select sum(G1Un24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un24, (select sum(G1Un12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un12, (select sum(G1Un4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1Un4, (select sum(G1UnChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg52, (select sum(G1UnChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg24, (select sum(G1UnChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg12, (select sum(G1UnChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1UnChg4, (select max(G1ACV52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV52, (select max(G1ACV24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV24, (select max(G1ACV12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV12, (select max(G1ACV4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G1ACV4, (select sum(G2Dol52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol52, (select sum(G2Dol24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol24, (select sum(G2Dol12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol12, (select sum(G2Dol4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Dol4, (select sum(G2DolChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg52, (select sum(G2DolChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg24, (select sum(G2DolChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg12, (select sum(G2DolChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2DolChg4, (select sum(G2Un52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un52, (select sum(G2Un24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un24, (select sum(G2Un12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un12, (select sum(G2Un4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2Un4, (select sum(G2UnChg52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg52, (select sum(G2UnChg24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg24, (select sum(G2UnChg12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg12, (select sum(G2UnChg4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2UnChg4, (select max(G2ACV52)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV52, (select max(G2ACV24)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV24, (select max(G2ACV12)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV12, (select max(G2ACV4)from RawData where [UPC Code 12] = a.[UPC Code 12]) AS G2ACV4
FROM RawData AS a
WHERE (((a.[Generation Code]) In (select max([Generation Code]) from RawData where [UPC Code 12] = a.[UPC Code 12])));