GoDaddy ベースの SQL Server 2005 を使用して、Web サイトからの売上を保存しています。datePaid
としてフォーマットされた列がありますsmalldatetime
。次のクエリを使用して、特定の日付のすべての注文を表示するためにデータベースにクエリを実行すると、次のようになります。
SELECT DISTINCT
purchase.orderID, wfRegister.firstName, wfRegister.lastname,
storeOrder.subtotal, storeOrder.handling, storeOrder.total,
storeOrder.datePaid, storeOrder.dateOrdered, storeOrder.paypalID
FROM
wfRegister
INNER JOIN
(storeOrder INNER JOIN purchase ON storeOrder.orderID = purchase.orderID) ON wfRegister.customerID = storeOrder.customerID
WHERE
storeOrder.deleted = 0
AND storeOrder.datePaid BETWEEN '03/21/2013' AND '03/21/2013'
ORDER BY
storeOrder
21 日に 1 つのレコードしか返されませんが、これは正しくありません。クエリを次のように変更するstoreOrder.datePaid BETWEEN '03/21/2013' AND '03/22/2013
と、21 日に 7 つのレコードが返されますが、これは正しいのですが、22 日にレコードも取得するので、これは望ましくありません。21 日の datePaid フィールドをクエリして、1 レコードだけでなく 7 レコードすべてを取得する方法はありますか? クライアントはデータを Excel にインポートしますが、21 日のすべてのレコードを取得するために 22 日のレコードを削除する必要はありません。