I have this query for a DB2 DB where I need to pull data between dates and specific times. I came up with the query below and it is working but is not getting the data for the day in between 20110510 and 20110512 in this case 20110511, this data should be for the entire day.
The dates and times are user's parameters so this will change depending on their needs. I also want to be able to pull data for the same day with the same query if possible, for example:
Date last modify >= 20110512 AND
Date last modify <= 20110512 AND
Time last modify >= 090000 AND
Time last modify <= 230000 AND
Any help will be really appreciate it in advance. Thank you.
SELECT A1.CHCASN, A1.CHTRKN,
SUM(A2.CDPAKU) AS UNITS, A1.CHACWT, SUM(A2.CDPRC * A2.CDPAKU) AS COST, SUM(A3.STRPRC * A2.CDPAKU) AS RETAIL, A1.CHDLM, A1.CHTLM
FROM CHCART00 A1, CDCART00 A2, STSTYL00 A3
WHERE A1.CHCASN = A2.CDCASN
AND A2.CDSTYL = A3.STSTYL
AND A2.CDCOLR = A3.STCOLR
AND A2.CDSDIM = A3.STSDIM
AND A1.CHSTAT = '25'
AND (A1.CHDLM = 20110510 AND A1.CHTLM >= '200000' OR A1.CHDLM = 20110512 AND A1.CHTLM <= '092000') AND A1.CHROUT = 'UPSPA'
GROUP BY A1.CHCASN, A1.CHTRKN, A1.CHACWT, A1.CHDLM, A1.CHTLM
ORDER BY A1.CHDLM, A1.CHTLM
Examples:-
(Between two dates)
`SELECT A1.CHCASN, A1.CHTRKN, SUM(A2.CDPAKU) AS UNITS, A1.CHACWT,
SUM(A2.CDPRC * A2.CDPAKU) AS COST, SUM(A3.STRPRC * A2.CDPAKU) AS RETAIL,
A1.CHDLM, A1.CHTLM FROM CHCART00 A1, CDCART00 A2, STSTYL00 A3
WHERE A1.CHCASN = A2.CDCASN AND A2.CDSTYL = A3.STSTYL AND
A2.CDCOLR = A3.STCOLR AND A2.CDSDIM = A3.STSDIM AND A1.CHSTAT = '25' AND
(A1.CHDLM BETWEEN 20110510 AND 20110512)
AND A1.CHROUT = 'UPSPA' GROUP BY A1.CHCASN, A1.CHTRKN, A1.CHACWT,
A1.CHDLM, A1.CHTLM
ORDER BY A1.CHDLM, A1.CHTLM`
(Same date)
`SELECT A1.CHCASN, A1.CHTRKN, SUM(A2.CDPAKU) AS UNITS, A1.CHACWT,
SUM(A2.CDPRC * A2.CDPAKU) AS COST, SUM(A3.STRPRC * A2.CDPAKU) AS RETAIL,
A1.CHDLM, A1.CHTLM FROM CHCART00 A1, CDCART00 A2, STSTYL00 A3
WHERE A1.CHCASN = A2.CDCASN AND A2.CDSTYL = A3.STSTYL AND
A2.CDCOLR = A3.STCOLR AND A2.CDSDIM = A3.STSDIM AND A1.CHSTAT = '25' AND
(A1.CHDLM = 20110511)
AND A1.CHROUT = 'UPSPA' GROUP BY A1.CHCASN, A1.CHTRKN, A1.CHACWT,
A1.CHDLM, A1.CHTLM
ORDER BY A1.CHDLM, A1.CHTLM `