2011-07-25 17 views
0

私は販売レポートのテーブル(eod_cache)を持っています。私は月曜日から始まる売上の各週のリストを取得しようとしています。または、売上の最初の日付が月曜日でない場合は、リストに追加します。今日を通じて2011年7月20日に開始日の売上がある場合たとえば、リストには次のようになります。SQL - 日付が月曜日またはテーブルの最初の日付の場合の選択方法は?

7/25/2011 
7/20/2011 

私は現在、ちょうど月曜日を取得し、私は私に最小/最小の日付を追加する方法を疑問に思って返された日付のリスト。ここに私の文は次のとおりです。

SELECT  DISTINCT date 
FROM  eod_cache 
WHERE  DAYOFWEEK(date) = 2 
ORDER BY date DESC 

答えて

4

あなたはまた、最小の日付にできますあなたのDAYOFWEEK基準にOR条件を追加することができます。この例では

SELECT  DISTINCT date 
FROM  eod_cache 
JOIN  user_store_permissions 
ON   user_store_permissions.store_id = eod_cache.store_id 
WHERE  user_store_permissions.user_id = 32 AND 
      (DAYOFWEEK(date) = 2 or date = (select min(date) from eod_cache)) 
ORDER BY date DESC 

、私はちょうどあなたがあなたの権限インフラストラクチャを使用して、そのクエリを変更したい場合がありますように見えますが、テーブル自体の中で最小の日付を使用していますが、その変更は自明でなければなりません。

+0

ありがとうございました!私はそのような方法でサブクエリを使うとは思わなかった。私は、サブスクリプションをあなたが推奨した通りに参加して使用するように変更しました。 –

+0

@Kyle:聞いてよかった!それがあなたの質問を世話した場合は、必ずこれを答えとして記入してください。 –

関連する問題