2017-08-21 13 views
0

********のセットからの最後の日*********EDITED記録

を取得することは基本的に私は最終的に探していますが、犬が私たちにあった最後のアポイントメントでありますその予定の詳細を持つ店。ご存知のように、今私はちょうど一年を通して実際に予約されている顧客を持っているMAXの日付を引っ張っているので、私は彼らの最後の予約を得ていませんが、将来の予約は予約されています。

SELECT dbo_Pet.petId, 
     dbo_Pet.petName, 
     dbo_Customer.cstLName, 
     dbo_vwApptGrid.aptDate, 
     dbo_vwApptGrid.aptId, 
     dbo_vwApptGrid.GroomStyle, 
     dbo_vwApptGrid.StatusDescr 
FROM (dbo_Customer RIGHT JOIN dbo_Pet ON dbo_Customer.[cstId] = dbo_Pet.[petCustId]) 
     LEFT JOIN dbo_vwApptGrid ON dbo_Pet.petId = dbo_vwApptGrid.aptPetId 
WHERE (((dbo_Pet.petId)=[ID]) 
     AND ((dbo_vwApptGrid.aptDate)<=Date()) 
     AND ((dbo_vwApptGrid.aptDate)=(SELECT Max(tMax.aptDate) 
FROM dbo_vwApptGrid As tMax 
WHERE tMax.aptPetId = dbo_Pet.petId))); 

は全くレコードを表示しません。今日よりも大きい日付に変更すると、最後に予約された予定が表示されるようになります。 なぜ、これは私の最大日付を今日よりも少なくするのですか?

+0

AptID、GroomStye、StatusDescrフィールドを削除します。レコード全体を参照する必要がある場合は、http://allenbrowne.com/subquery-01.html#TopN – June7

+0

@ June7を確認してください。問題は解決しましたが、私の質問を編集しました。そしてそのリンクに感謝!私はそれをチェックしてきた、素晴らしい。そこから本当に役立つ外見のリンクがありました。本当にありがとう。 –

+0

HAVINGではなく、WHERE aptDate <= Date()を試してください。 – June7

答えて

1

これについては、複数の方法がありますが、私は総計サブクエリによるフィルタリングが好きです(私が私にしたいものを最も説明的に感じます)。

@ June7によってコメントされた解決策も有効です(特に、あなたが参照するフィールドが必要ない場合)。

追加の条件を追加する場合は、常にこれらをサブクエリに追加し、メインクエリには追加しないでください。サブクエリがフィルタリングされたものを返すので、メインクエリにそれらを追加すると、結果は得られません。

SELECT dbo_Pet.petName 
    ,dbo_Customer.cstLName 
    ,dbo_vwApptGrid.aptId 
    ,dbo_vwApptGrid.aptDate AS most_recent 
    ,dbo_vwApptGrid.GroomStyle 
    ,dbo_vwApptGrid.StatusDescr 
FROM (
    dbo_Customer RIGHT JOIN dbo_Pet ON dbo_Customer.[cstId] = dbo_Pet.[petCustId] 
    ) 
LEFT JOIN dbo_vwApptGrid ON dbo_Pet.petId = dbo_vwApptGrid.aptPetId 

WHERE dbo_Pet.petId = [ID] 
AND dbo_vwApptGrid.aptDate = (SELECT Max(tMax.aptDate) FROM dbo_vwApptGrid As tMax WHERE tMax.aptPetId = dbo_Pet.petId AND tMax.aptDate <= Date()); 
+0

助けてくれてありがとう、もう一度それを見て気を付けるなら、私は少し質問を編集しました –

+0

あなたの特別な基準を組み込むように編集しました –

+0

私は違いを見ます。私は残りの日付の最大値を得るために、最初に将来の日付を除外する必要があると思っていました –