加入2表,只显示活动列

时间:2013-11-07 08:35:42

标签: vb.net linq linq-to-sql linq-to-entities

我有2个表,“table1”有1列来存储“table2”列名。表1数据如下:

 ID | Desc   | Table2ColName | Active
-------------------------------------
 1  | 1 Day  |      D1       |  Yes
 2  | 2 Days |      D2       |  No
 3  | 3 Days |      D3       |  Yes

表2数据如下:

 ID | ShopName |  D1  | D2  | D3
----------------------------------
 1  |   Sp1    |  100 | 80  | 120

然后我想加入2表并只显示活动数据,如何使用linq查询结果如下:

ID | ShopName |  D1  | D3
---------------------------
 1 |   Sp1    |  100 | 120

我已经尝试了一整天但得到了注意,希望可以帮助。感谢

1 个答案:

答案 0 :(得分:0)

我认为你已经得到了你需要的答案,但无论如何我都想发布它。您的查询应该是这样的。

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
};