我正在尝试从另一个表中查找列的值,然后在 where 子句中使用新查找的值。例如,我有以下表格
ID Name
1 Jan
2 Feb
3 March
Product Customer Start End
A C Feb March
A B Jan March
B C March Jan
在上面的示例中,我需要查询 Start ID 大于 End ID 的记录列表。例如,BC-March-Jan 是我要查找的记录。我应该使用加入吗?此外,如果可能的话,查询语法将非常有帮助。
我的查询:
var vInvalidStartEnd = from p in vRecords
where (from t in vTimePeriods where t.Name == p["Start"] select t.TID).First().Cast<int>() > (from t in vTimePeriods where t.TName == p["End"] select t.ID).First().Cast<int>()
select new
{
Product = p["Product"],
Location = p["Location"],
Start = p["Start"],
End = p["End"]
};
谢谢