1 日に複数の顧客バーコード スキャンについてデータベースをチェックするクエリがあります。このレポートはうまく機能しますが、もう 1 つ追加したいと思います。出力に「Times Scanned」列を含めたいと思います。ただし、「SUM」を使用しているため、1行に複数回リストされることはありません。たとえば、バーコード「1234」が 2 回スキャンされたことが判明した場合、スキャンされた回数 (tickets.dtcreated) が「スキャンされた回数」列に 1 つの出力として表示されるようにします。
これが私の現在の出力です:
Barcode DtCreatedDate Number of Scans
1234 1/1/2013 2
1235 1/1/2013 2
1563 1/2/2013 3
出力を次のように表示します (「Times Scanned」には、複数のスキャンが行われた日の時間 (DTcreateddate) のみが表示されることに注意してください。
Barcode DtCreatedDate Number of Scans Times Scanned
1234 1/1/2013 2 11:15AM, 12:15PM
1235 1/1/2013 2 9:00AM, 4:00PM
1563 1/2/2013 3 8:05AM, 8:08AM, 5:50PM
私の現在のクエリは以下です
SELECT Customers.sBarcode, CAST(FLOOR(CAST(Tickets.dtCreated AS FLOAT)) AS DATETIME) AS dtCreatedDate, COUNT(Customers.sBarcode) AS [Number of Scans]
FROM Tickets INNER JOIN
Customers ON Tickets.lCustomerID = Customers.lCustomerID
WHERE (Tickets.dtCreated BETWEEN @startdate AND @enddate) AND (Tickets.dblTotal <= 0)
GROUP BY Customers.sBarcode, CAST(FLOOR(CAST(Tickets.dtCreated AS FLOAT)) AS DATETIME)
HAVING (COUNT(*) > 1)
ORDER BY dtCreatedDate