将一个以上的细胞放入一个细胞中

时间:2011-03-28 08:10:13

标签: c# linq linq-to-sql

我正在使用linq查询来获取客户表,其中包含我的数据库中存在的每个货币单位的总金额(这个是好的。) 当用Microsoft Report Viewer显示我的查询结果时,结果如表1所示,但我想要的是表2,只有客户名称如“A”和包含所有货币单位记录的单元格> 0

你有什么方法可以建议吗?

这是我的代码,它产生表1:

var query = from kur in kurToplamlist                        
                    join cariBilg in db.TBLP1CARIs
                                  on kur.CariIdGetSet equals cariBilg.ID
                    select new
                    {
                        cariBilg.ID,//customerid
                        EUROBAKIYE = cariBilg.HESAPADI,
                        cariBilg.K_FIRMAADI,//other column names
                        cariBilg.K_YETKILIADI,//other column names
                        cariBilg.K_FIRMATELEFON,//other column names
                        cariBilg.K_YETKILITELEFON,//other column names
                        AUDBAKIYE = cariBilg.B_CEPTELEFON,//other column names                            
                        MonetaryUnit = String.Concat(kur.KurToplamMiktarGetSet.ToString(), kur.DovizTuruGetSet.ToString()),//concatenates "100" and "TL/USD etc."                          

                    };

我想要的是获得图像中的表2 提前谢谢。

Table image

1 个答案:

答案 0 :(得分:1)

var query = from kur in kurToplamlist
                    where kur.KurToplamMiktarGetSet > 0
                    join cariBilg in db.TBLP1CARIs
                                  on kur.CariIdGetSet equals cariBilg.ID
                    select new
                    {
                        cariBilg.ID,
                        EUROBAKIYE = cariBilg.HESAPADI,
                        cariBilg.K_FIRMAADI,
                        cariBilg.K_YETKILIADI,
                        cariBilg.K_FIRMATELEFON,
                        cariBilg.K_YETKILITELEFON,
                        AUDBAKIYE = cariBilg.B_CEPTELEFON,
                        TLBAKIYE = String.Concat(kur.KurToplamMiktarGetSet.ToString(), kur.DovizTuruGetSet.ToString()),   


                    };
        var dfg = from qre in query
                  select qre.TLBAKIYE;

        var aq = (from qw in query
                  select new { 
                        qw.ID,
                        EUROBAKIYE = qw.EUROBAKIYE,
                        qw.K_FIRMAADI,
                        qw.K_YETKILIADI,
                        qw.K_FIRMATELEFON,
                        qw.K_YETKILITELEFON,
                        AUDBAKIYE = qw.AUDBAKIYE,
                        TLBAKIYE = String.Join(",", (from qre in query
                                                    where qre.ID == qw.ID
                                                    select qre.TLBAKIYE).Distinct())

                 }).Distinct();            

        return aq;          

这是我的答案。