C# 根据另一个表中特定列的值计数随机翻转值
对于table fruits中的一行,在table market中创建的两行在除status列之外的所有列中都具有相同的值。如果fid=mid,fnumber=mnumber,fquantity=mquantity,并且如果匹配的行fstatus=yellow,则我希望将其mstatus翻转为“已售出” 我无法理解什么逻辑可以被使用。我必须使用C语言。我写的代码显然不起作用。有人能告诉我该怎么办吗 部分代码/伪代码:C# 根据另一个表中特定列的值计数随机翻转值,c#,C#,对于table fruits中的一行,在table market中创建的两行在除status列之外的所有列中都具有相同的值。如果fid=mid,fnumber=mnumber,fquantity=mquantity,并且如果匹配的行fstatus=yellow,则我希望将其mstatus翻转为“已售出” 我无法理解什么逻辑可以被使用。我必须使用C语言。我写的代码显然不起作用。有人能告诉我该怎么办吗 部分代码/伪代码: foreach (DataRow f in fruitsDS.Tables["
foreach (DataRow f in fruitsDS.Tables["fruits"].Rows)
{
foreach (DataRow m in marketDS.Tables["market"].Rows)
{
if (m.mid == f["fid"].ToString() && m.mnumber == f["fnumber"].ToString() &&
Math.Abs(m.mquantity).Equals(f["fquantity"]))
{
if (f["fstatus"].ToString() == "black" && m.mstatus == "packed")
{
m.quantitystatus = "FORECAST";
}
}
}
}
实际表格:
Market
market mid mnumber mquantity mstatus
p 1 102 100 packed
p 1 101 100 packed
p 1 101 100 packed
p 1 103 200 packed
m 1 102 100 packed
m 1 101 100 packed
m 1 101 100 packed
m 1 103 200 packed
Fruits
fid fnumber fquantity fstatus
1 101 100 black
1 102 100 yellow
1 101 100 black
1 103 200 yellow
预期结果:
Market
market mid mnumber mquantity mstatus
p 1 102 100 sold
p 1 101 100 packed
p 1 101 100 packed
p 1 103 200 sold
m 1 102 100 sold
m 1 101 100 packed
m 1 101 100 packed
m 1 103 200 sold
Fruits
fid fnumber fquantity fstatus
1 101 100 black
1 102 100 yellow
1 101 100 black
1 103 200 yellow
例如:在水果中,两行的fid、fnumber和fquantity相同,即1、101和100,但F状态“黑色”和“黄色”不同。为market表中的每条记录创建两行,但购买状态相同,因此无法区分,因为所有其他值都相同。如果有一个“黄色”,我想翻转市场表中的两行,一行的市场价值为“p”,另一行的市场价值为“m”,表示fid=mid、fnumber=MNNUMBER和fquantity=mquantity。在C#中如何做到这一点?quantitystatus和mquantity之间有什么区别?我在您的表中没有看到QuantityStatus对应的列在您发布的表中,您有两行1、101、100,具有相同的fstatus黑色-为什么您说它不同?