当前位置:Gxlcms > 数据库问题 > sql三表链接查询

sql三表链接查询

时间:2021-07-01 10:21:17 帮助过:12人阅读

* from [dbo].[Contract_BaseInfor] as x join [dbo].[MaterialType] as a on x.RowGuid = a.ContractRowGuid join [dbo].[EquipmentEFile_Category] as b on a.RowGuid = b.MaterialDetailRowGuid join [dbo].[EquipmentEFile] as c on c.ParentRowGuid = b.RowGuid where x.RowGuid=655b9e4f-4f75-4eeb-8598-de14834dd640 and a.Count >0 and c.IsMaxVersion=1 order by c.StorageName

 dmrlist:合同列表

var contractMT = (from con in dmrlist
                                  join m in dc_ModelData.MaterialType.Where(p => p.MonomerProject == bidRowGuid && p.Count > 0) on con.RowGuid equals m.ContractRowGuid
                                  select new { ConName = con.Name, ConRowGuid = con.RowGuid, MTRowGuid = m.RowGuid } into jtemp
                                  group jtemp by new { jtemp.ConName, jtemp.ConRowGuid } into temp
                                  select new { ConName = temp.Key.ConName, ConRowGuid = temp.Key.ConRowGuid, MTCount = temp.Count() }).ToList();
                int contractMTCount = contractMT.Count;

                var contractEFile = (from con in contractMT
                                     join m in dc_ModelData.MaterialType.Where(p => p.MonomerProject == bidRowGuid && p.Count > 0) on con.ConRowGuid equals m.ContractRowGuid
                                     join h in dc_ModelData.EquipmentEFile_Category.Where(p => p.BidSectionRowGuid == bidRowGuid && p.Title == "族文件") on m.RowGuid equals h.MaterialDetailRowGuid
                                     join k in dc_ModelData.EquipmentEFile.Where(p => p.IsMaxVersion == true) on h.RowGuid equals k.ParentRowGuid
                                     select new { ConName = con.ConName, ConRowGuid = con.ConRowGuid, MTRowGuid = m.RowGuid, EFileRowGuid = k.RowGuid } into jtemp
                                     group jtemp by new { jtemp.ConName, jtemp.ConRowGuid } into temp
                                     select new { ConName = temp.Key.ConName, ConRowGuid = temp.Key.ConRowGuid, EFileCount = temp.Count() }).ToList();
                int contractEFileCount = contractEFile.Count;

 

sql三表链接查询

标签:from   file   count()   group   amp   var   cat   class   list()   

人气教程排行