我试图使用SQL将多个项目的多个Cash Flows表合并到一个表中。我正在使用的查询列在下面,
SELECT a.DATE1, b.DATE2, a.CF1, b.CF2
FROM a
FULL OUTER JOIN b
ON b.DATE2= a.DATE1
,结果表列在下面,
由于现金流量在不同日期针对不同项目进行,其中一些可能在同一天发生,有些可能不会。我想知道如何调整我的代码,以便结果看起来像这样,
我们将前两个日期列组合在一起。如果另一个为NULL,则保留日期值,如果现金流在同一天发生,则删除重复值。
由于我需要组合多个项目,因此该方法应该具有强大的扩展性。
我试过使用以下内容,
SELECT ISNULL(a.DATE1, '') + ISNULL(b.DATE2, ''), a.CF1, b.CF2
FROM ...
但是,这只解决了NULL部分,实际上会添加重复的日期,并导致新的日期。
感谢任何帮助,并提前多多感谢!
答案 0 :(得分:1)
尝试使用coalesce()。
SELECT coalesce(a.DATE1, b.DATE2)as date, a.CF1, b.CF2
FROM a
FULL OUTER JOIN b
ON b.DATE2= a.DATE1