【问题标题】:How can I use full outer join?如何使用完全外连接?
【发布时间】:2012-10-29 09:06:54
【问题描述】:

我需要使用 join 2 table 显示所有数据。

考试

餐桌联系人

numCode | fullName
00001   | Midna 
00002   | Klog
00003   | Porla
00004   | Seka
00005   | Mila

表格日期文件

numCode | dateCurr
00001   | 2012-10-29 00:00:00.000
00002   | 2012-10-29 00:00:00.000
00005   | 2012-10-29 00:00:00.000

代码 Sql 服务器

SELECT df.numCode as 'numCode', tf.dateCurr as 'dateCurr'
FROM dateFile df Full Outer join Contact ct On ct.numCode = df.numCode
WHERE df.dateCurr = '2012-10-29'

输出

numCode | dateCurr
00001   | 2012-10-29 00:00:00.000
00002   | 2012-10-29 00:00:00.000
00005   | 2012-10-29 00:00:00.000

但我需要输出获取:

numCode | dateCurr
00001   | 2012-10-29 00:00:00.000
00002   | 2012-10-29 00:00:00.000
00003   | 2012-10-29 00:00:00.000  (Insert Date from choose datetime)
00004   | 2012-10-29 00:00:00.000  (Insert Date from choose datetime)
00005   | 2012-10-29 00:00:00.000

【问题讨论】:

    标签: sql sql-server stored-procedures full-outer-join


    【解决方案1】:

    试试:

    SELECT df.numCode as 'numCode', 
           coalesce(tf.dateCurr, '2012-10-29') as 'dateCurr'
    FROM dateFile df Full Outer join Contact ct 
    On ct.numCode = df.numCode and df.dateCurr = '2012-10-29'
    

    【讨论】:

      【解决方案2】:

      试试这个:

      select c.numCode,ISNULL(d.dateCurr,'2012-10-29 00:00:00.000') from Contact c left join dateFile d
      on c.numCode = d.numCode 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-06
        • 2013-03-11
        • 2021-02-19
        • 2019-01-12
        • 1970-01-01
        • 2017-05-30
        • 2012-11-06
        相关资源
        最近更新 更多