我如何将两个数据表合并到同一行中。我正在使用不同的存储过程将数据获取到数据集中。在使用c#的asp.net中,我想将它们合并,因此与表1的行数相同,并在表2中添加了列。
例如:
DataTable table1 = dsnew.Tables[0];
DataTable table2 = dsSpotsLeft.Tables[0];
table1.Merge(table2);
这让我获取了4行而不是2行。我在这里想念什么?提前致谢!!
最佳答案
在不了解这些表的设计的情况下,其中有些是推测。
听起来像您想执行的是JOIN
。例如,如果您有一个看起来像这样的表:
StateId, StateName
和另一个看起来像的桌子
EmployeeId, EmployeeName, StateId
而您想要得到一个看起来像这样的结果集
EmployeeId, EmployeeName, StateId, StateName
您将执行以下查询:
SELECT Employee.EmployeeId, Employee.EmployeeName, Employee.StateId, State.StateName
FROM Employee
INNER JOIN State ON Employee.StateId = State.StateId
这将为您提供结果集,但不会更新任何数据。再次推测您的数据集,我假设您的Employee表版本可能类似于结果集:
EmployeeId, EmployeeName, StateId, StateName
但需要填充
StateName
。在这种情况下,您可以编写查询:UPDATE Employee
SET Employee.StateName = State.StateName
FROM Employee
INNER JOIN State ON Employee.StateId = State.StateId
在SQL Server中测试。