2017-03-20 4 views
0

この質問のバリエーションが確認されていますが、私にはうまくいかない(または私は正しいとは思えませんでした)。私はまだSQLを学んでいるので、私と一緒に抱きしめてください。SQL Left Outer Joinですが、最大の日付のみを取得します

私は参加しようとしている2つのテーブルがあります。私は表Cのすべてのレコードと、表Pと一致するものだけを必要とします。したがって、左外部結合を仮定します。

私のためのトリッキーな部分は、この参加に伴い、私が探しているということです

表Pに私は両方のテーブルからすべての列をしたいと、彼らは表Cおよび「ITEMNO」の「PARTNO」によって結合されます表Pの日付(PDate)に基づいて最新の「ItemNo」を取得するだけです。

ありがとうございます!

+0

左の参加で行うことができますが、あなたが欲しいものですが、テーブルを取得するためにPARTNOのgroup by句でテーブルPにサブクエリでテーブルCに参加する必要がありますあなたは参加する必要があります。より正確なソリューションが必要な場合は、詳細(データベースタイプ)などを提供する必要があります。 – ozborn

+0

これらはSQL Serverの2つのテーブルです。私はカスタムSQL機能を使用してTableau Desktopに参加しようとしています – Rosadocc

+0

私はここでSQLサーバーにアクセスすることはできませんが、パーティションとの左結合はおそらくテーブルからの集計値を必要としない場合に行く方法ですP. – ozborn

答えて

1

これは、外側の適用

select * 
    from TableC c 
    outer apply (
     select top 1 * 
      from TableP 
       where itemno = c.partno 
       order by pdate desc 
    ) p 
+0

ありがとう!私のためにうまくいった。 – Rosadocc

+0

@Rosadocc問題はない、うまくいきました。 – KindaTechy

関連する問題