2013-04-09 46 views
0

我有兩個表A和B. 表A是這樣的:如何在數據表中插入新行?

Date   | Value 
1/9/2013 13:30 | 1 
1/9/2013 13:31 | 2 
1/9/2013 13:32 | 2.1 
1/9/2013 13:33 | 1.6 
1/9/2013 13:34 | 1.7 
1/9/2013 13:35 | 1.9 
1/9/2013 13:36 | 5.6 
1/9/2013 13:37 | 1.6 
1/9/2013 13:38 | 1.64 
1/9/2013 13:39 | 1.36 

,表B是這樣的:

1/9/2013 13:33 | 1.7 
1/9/2013 13:37 | 1.6 
1/9/2013 13:38 | 1.8 

我想有這將有B的所有條目的表C. ,但如果在13:30沒有輸入,例如該值爲空。因此,表C是這樣的:

Date   | Value 
1/9/2013 13:30 | null 
1/9/2013 13:31 | null 
1/9/2013 13:32 | null 
1/9/2013 13:33 | 1.7 
1/9/2013 13:34 | null 
1/9/2013 13:35 | null 
1/9/2013 13:36 | null 
1/9/2013 13:37 | 1.6 
1/9/2013 13:38 | 1.8 
1/9/2013 13:39 | null 

我知道,一個可以做到這一點的聯接和LINQ,你有什麼想法?

感謝

+2

你有沒有試過_anything_這麼遠嗎? – 2013-04-09 10:59:28

回答

0

嘗試以下LEFT JOIN查詢:

from a in dtA.AsEnumerable() 
join b in dtB.AsEnumerable() on a.Field<DateTime>("Date") equals b.Field<DateTime>("Date") into joinedB 
from b in joinedB.DefaultIfEmpty() 
select new 
{ 
    Date = a.Field<DateTime>("Date"), 
    Value = b != null ? b.Field<DateTime>("Value") : null 
}