Vb.net 联接2个表并只显示活动列
我有两个表,表1有一个列来存储表2的列名。表1数据如下:Vb.net 联接2个表并只显示活动列,vb.net,linq,linq-to-sql,linq-to-entities,Vb.net,Linq,Linq To Sql,Linq To Entities,我有两个表,表1有一个列来存储表2的列名。表1数据如下: ID | Desc | Table2ColName | Active ------------------------------------- 1 | 1 Day | D1 | Yes 2 | 2 Days | D2 | No 3 | 3 Days | D3 | Yes ID | ShopName | D1 | D2 | D3 ----
ID | Desc | Table2ColName | Active
-------------------------------------
1 | 1 Day | D1 | Yes
2 | 2 Days | D2 | No
3 | 3 Days | D3 | Yes
ID | ShopName | D1 | D2 | D3
----------------------------------
1 | Sp1 | 100 | 80 | 120
ID | ShopName | D1 | D3
---------------------------
1 | Sp1 | 100 | 120
表2数据如下:
ID | Desc | Table2ColName | Active
-------------------------------------
1 | 1 Day | D1 | Yes
2 | 2 Days | D2 | No
3 | 3 Days | D3 | Yes
ID | ShopName | D1 | D2 | D3
----------------------------------
1 | Sp1 | 100 | 80 | 120
ID | ShopName | D1 | D3
---------------------------
1 | Sp1 | 100 | 120
然后我想加入2表,只显示活动数据,如何使用linq查询结果,如下所示:
ID | Desc | Table2ColName | Active
-------------------------------------
1 | 1 Day | D1 | Yes
2 | 2 Days | D2 | No
3 | 3 Days | D3 | Yes
ID | ShopName | D1 | D2 | D3
----------------------------------
1 | Sp1 | 100 | 80 | 120
ID | ShopName | D1 | D3
---------------------------
1 | Sp1 | 100 | 120
我试了一整天,但什么也没得到,希望能有所帮助。谢谢我想你已经得到了你需要的答案,但我想我还是会把它贴出来的。您的查询应该如下所示
var results = from a in data.table1
join b in data.table2
on a.ID equals b.ID
where a.Active =='Yes'
select new
{
a.ID,
b.ShopName,
b.D1,
b.D2
};