私は州全体のアプリケーションを管理し、Tableau
を使用してデータの視覚化を作成します。SQL Server 2012結合テーブル内のサブクエリの最大日付
私は、連絡先エントリと今日(ケースノート日付)の間にどのくらいの時間が経過しているかを示す視覚化を作成することが任されています。私はケースノートテーブルに最大ケースノート日付を隔離する方法を知っている:
Select
[Case_Master_ID],
[Case_Note_Date],
[Case_Note_Category_Desc],
[Case_Note_Summary_Narr]
From
buCase_Note
Where
Case_Note_Date = (Select MAX(Case_Note_Date)
From buCase_Note)
このクエリは、最大ケースが今日からテーブルにノートことを私が表示されます。問題は、今日のものだけでなく、すべての参加者に最大のケースノートを示す必要があるということです。私はケースを表示するために使用されている元のクエリは指摘している:
Select
vc.[_Case Master ID],
vc.[_Caseload Assignment Current],
vc.[_Participant Name],
vc.[Case Status],
vc.[Reporting Structure Level 4],
vc.[Reporting Structure Level 5],
vc.[Application Date],
vc.[Eligibility Date],
vc.[Eligibility Determination Extension Date],
vc.[Eligibility Extended To Date],
vc.[Days in Application],
cn.[Case_Note_Date],
cn.[Case_Note_Category_Desc],
cn.[Case_Note_Summary_Narr]
From
biVR_Cases vc
Left outer Join
buCase_Note cn ON cn.Case_Master_ID = vc.[_Case Master ID]
私は開いているすべてのクライアントを表示するには、左側にbiVR_Cases
を維持する必要があります。次に、ケースノートテーブルに参加する必要があります。参加者ごとに、最大ケースノートの日付を表示します。私は上記のクエリの最後にこれを追加すると:
Where cn.[Case_Note_Date] = (
Select
MAX(cn.Case_Note_Date)
From buCase_Note)
私は次のエラーを取得するSSMS 2012である:
それが含まれるサブクエリでない限り、集合体は、WHERE句に表示されない場合がありますHAVING句または選択リストに格納され、集約される列は外部参照です。
ケースノートテーブルに正常に参加し、参加者ごとに最新のケースノートのみを持ち込みながら、bi
テーブルを左に保持したいと考えています。
詳細を追加:ここではもちろん 、 は、次のクエリを実行するときに私が得るデータのサンプルです:
Select
vc.[_Case Master ID],
vc.[_Caseload Assignment Current],
vc.[_Participant Name],
cn.[Case_Note_Date],
From biVR_Cases vc
LEFT outer JOIN buCase_Note cn ON vc.[_Case Master ID] = cn.Case_Master_ID
_Caseload割り当て現在のテスト参加者名Casenote日 テストカウンセラー参加 9月29日、 2010 2010年9月23日 2010年8月30日 2010年6月30日 2010年6月1日
biテーブルには、名前、アプリケーション、ケースマスタIDなどの参加者情報が含まれています.casenoteテーブルには、ケースマスタIDと結合が含まれています。また、各エントリが作成された日付も含まれます。上記のデータセットについては、私は各参加者のための最新のカセノー紙を持ち込むよう努めています。上記のサンプルには1つしか含まれていませんでしたが、私たちは15,000を超えています。各参加者には多くのケースノートがあります。私はトップカセノーを取得しようとしているので、最新のケースノートと今日の各参加者の日付差を計算することができます。私が追加した場合:
Where cn.[Case_Note_Date] = (Select
top 1 [Case_Note_Date]
From buCase_Note
Order by 1 DESC))
OR
Where Case_Note_Date=(
Select
MAX(Case_Note_Date)
From buCase_Note)
それは今日だけ作成casenoteを持っていた参加者のための上部または最大casenoteを示しています。 casenoteテーブルに最大casenoteを表示する代わりに、参加者ごとに最大casenoteが必要です。私はそれがより理にかなってほしい。
データを表示する必要があります。あなたのMAX(cn.Case_Note_Date)はbuCase_Noteから1つのデータだけを返します。[_ケースマスターID] – Chuck