複数のプロジェクトの複数のキャッシュフロー表をSQLを使用して1つの表に結合しようとしました。キャッシュ・フローは、それらのいくつかはかもしれない、別のプロジェクトのために別の日付で行われているので、私が使用していたクエリは、以下のとおり異なる時刻のデータを持つSQL外部結合時系列
SELECT a.DATE1, b.DATE2, a.CF1, b.CF2
FROM a
FULL OUTER JOIN b
ON b.DATE2= a.DATE1
と、結果表を以下に示している、
されます同じ日に起こる、そうでないかもしれない。私たちは最初の2つの日付列を組み合わせ
、結果の意志は次のようになりますように、私は私のコードを調整する方法を疑問に思って。他の1つがNULLの場合は日付の値を保持し、同じ日にキャッシュフローが発生した場合は重複した値を削除します。
私は複数のプロジェクトを結合する必要があるため、このメソッドは拡張のために堅牢でなければなりません。私は、次を使用しようとしました
、
SELECT ISNULL(a.DATE1, '') + ISNULL(b.DATE2, ''), a.CF1, b.CF2
FROM ...
しかし、これが唯一のNULLの部分を解決し、そして実際に複製された日付を追加し、新しい日付になります。
ご協力いただきありがとうございます!
'COALESCE(a.Date1、b.Date2)' – 1000111
MySQLは 'FULL OUTER JOIN'私の知る限りをサポートしていないことができますので、私はあなたが実際に最初のテーブルを生成する方法思ったんだけど。 –
私はMicrosoft SQL Server Mgmt Studioを使用していますので、これはおそらくMySQLと同じではありませんか? –