2013-02-14 38 views
-1

我environement是VS2012,C#平展表數據

主表:Journal (JournalId int)

詳細信息表:JournalLine (JournalId int, AccountId int, Debit money, Credit money)

每個日誌記錄有兩個JournalLine記錄,一個是借記卡和其他信貸。

我需要爲我的報告下列數據:

JournalId, AccountId (Debit > 0), AccountId (Credit > 0)每個日誌記錄。

我想列出借方帳戶和相應的信用帳戶。

有沒有使用LINQ或TSQL獲取這些數據的方法? 謝謝。

+1

分組行肯定是有辦法。現在我們的問題非常嚴重嗎? – Marco 2013-02-14 13:30:50

+0

答案是肯定的。如果你需要更多的幫助,你真的需要提供更多的細節(比如linq-to-what?,類模型)。 – 2013-02-14 13:35:25

+0

下一次你會問這個問題時,提供更多關於你所嘗試過的信息(不管你現在的代碼看起來多麼愚蠢)以及你有什麼確切的問題 – 2013-02-14 13:44:26

回答

0

您可以使用LINQ組加入度日期刊

var query = from j in db.Journal 
      join l in db.JournalLine 
       on j.JournalId equals l.JournalId into lines 
      select new { 
       j.JournalId, 
       DebitAccount = lines.Single(x => x.Debit > 0).AccountId, 
       CreditAccount = lines.Single(x => x.Credit > 0).AccountId 
      }; 
+0

非常感謝你,你是搖滾人。 備註:Single()沒有被接受,調試器建議我使用FirstOrDefault並且它可以工作(也要感謝你的調試器)。 – user1104916 2013-02-14 14:14:29

+0

@ user1104916好吧,如果你總是隻有兩行,那麼根本沒有區別。隨時接受解決方案:) – 2013-02-14 14:15:40