簡體   English   中英

來自 2 個不同表的 DISTINCT 列

[英]DISTINCT columns from 2 different tables

我有 2 個包含類似信息的表。 我們稱它們為DAILYROWDATASUMMARYDATA

DAILYROWDATA

NIP  NAME   DEPARTMENT
A1   ARIA   BB
A2   CHLOE  BB
A3   RYAN   BB
A4   STEVE  BB

表格SUMMARYDATA

NIP  NAME   DEPARTMENT  STATUSIN                STATUSOUT
A1   ARIA   BB          1/21/2020  8:06:23 AM   1/21/2020  8:07:53 AM
A2   CHLOE  BB          1/21/2020  8:16:07 AM   1/21/2020  9:51:21 AM
A1   ARIA   BB          1/22/2020  9:06:23 AM   1/22/2020  10:07:53 AM
A2   CHLOE  BB          1/22/2020  9:16:07 AM   1/22/2020  10:51:21 AM
A3   RYAN   BB          1/22/2020  8:15:03 AM   1/22/2020  9:12:03 AM

我需要組合這兩個表並顯示表DAILYROWDATA所有數據,並在STATUSIN = NULL 和STATUSOUT = Null 時設置值,然后寫入“NA”。 這是我的意思的輸出:

NIP  NAME   DEPARTMENT  STATUSIN                STATUSOUT
A1   ARIA   BB          1/21/2020  8:06:23 AM   1/21/2020  8:07:53 AM
A2   CHLOE  BB          1/21/2020  8:16:07 AM   1/21/2020  9:51:21 AM
A3   RYAN   BB          NA                      NA
A4   STEVE  BB          NA                      NA
A1   ARIA   BB          1/22/2020  9:06:23 AM   1/22/2020  10:07:53 AM
A2   CHLOE  BB          1/22/2020  9:16:07 AM   1/22/2020  10:51:21 AM
A3   RYAN   BB          1/22/2020  8:15:03 AM   1/22/2020  9:12:03 AM
A4   STEVE  BB          NA                      NA

我需要添加一些條件,所以,我想在一個日期中沒有NIP,NAME,DEPARTMENT,STATUSIN,STATUSOUT時設置值STATUSIN = NULL .. 所以,這可以是多個

您需要一個left join將兩個表放在一起。 棘手的部分是您需要字符串來表示'NA'

select drd.*,
       coalesce(cast(statusin as varchar(255)), 'NA') as statusin,
       coalesce(cast(statusout as varchar(255)), 'NA') as statusout
from DAILYROWDATA drd left join
     SUMMARYDATA sd
     on drd.nip = sd.nip;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM