我有两张 table 表_A
id col_A col_B Col_C DataAmt value
1 a b c 1 1
2 a b c 1 1
3 a b c 2 2
4 a b c 2 2
5 a b c 2 2
TABLE_B
id col_A col_B col_C
1 a b c
2 a b c
3 a b c
我的 linq 查询
from table_B in db.Table_B
join table_A in db.table_A
on new
{
col_A = table_B.col_A,
col_B = table_B.col_B,
col_C = table_B.col_C,
}
equals new
{
col_A = table_A.col_A,
col_B = table_A.col_B,
col_C = table_A.col_C,
}
select table_A
在我的 for i 中有两个字段,一个用于 Value_A 和 Value_B
使用三个列从表 B 查询到表 A。我必须区分 col_A、col_B、col_C 和 DataAmt,即来自 value< 的值/strong> TABLE_A 中大于 1 的 col 应放置在字段 Value_A 中,其他字段应放置在 Value_B 中。
我不能接受不同的值(value)观和值(value)观的分离。
最佳答案
也许像这样,根据需要更改 select 子句:
(from table_B in db.Table_B
join table_A in db.table_A
on new
{
col_A = table_B.col_A,
col_B = table_B.col_B,
col_C = table_B.col_C,
}
equals new
{
col_A = table_A.col_A,
col_B = table_A.col_B,
col_C = table_A.col_C,
}
select new
{
col_A = table_A.value > 1 ? table_A.value : table_A.col_A,
col_B = table_A.value > 1 ? table_A.Col_B : table_A.value: ,
col_C = table_A.col_C,
DataAmt = table_A.DataAmt
}).Distinct();
关于c# - Linq 连接与不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39523905/