【问题标题】:2 Datatables to 12 个数据表到 1 个
【发布时间】:2009-11-26 07:37:32
【问题描述】:

假设我有 Datatable1 有 "Colum1" , "colum2" 和另一个表, Datatable2 与 "Colum3" , "colum4"

我需要创建 Datatable3,它将包含所有列 "Colum1" 、 "colum2" 、 "Colum3" 、 "colum4"

我需要一些聪明的东西,比如为一个表执行此操作的 DefaultView.ToTable() 方法。

谢谢

【问题讨论】:

  • 您希望如何加入行?您如何确定 Datatable1 中的哪一行与 Datatable2 匹配?
  • 两个表?每个表中哪一列是主键?
  • 数据库?记忆?阿多? Excel? JDBC?使用权?单词?至少提供一些标签来指定您正在使用的技术。
  • Datatable 和 DefaultView.ToTable 来自 ADO.NET - 看起来像是合并两个 .NET Datatables 的请求 - 没有 SQL 或特定 DB
  • 是的,但那是我们假设的东西......

标签: datatable


【解决方案1】:

由于您没有提及任何语言或数据库服务器类型,因此以下内容可能在 SQL Server 2005 上有效(未经实际测试):

CREATE TABLE #temp (col1 <type>, col2 <type>, col3 <type>, col4 <type>)
INSERT INTO #temp
(
    SELECT t1.Column1, t1.Column2, t2.Column3, t2.Column4
    FROM Datatable1 t1 INNER JOIN Datatable2 t2 ON t2.<PrimaryKeyField> = t1.<PrimaryKeyField>

    UNION

    SELECT t1.Column1, t1.Column2, t2.Column3, t2.Column4
    FROM Datatable2 t2 INNER JOIN Datatable1 t1 ON t1.<PrimaryKeyField> = t2.<PrimaryKeyField>
)

SELECT * FROM #temp

【讨论】:

  • 你好。抱歉,我的意思是 .net 对象数据表。我想在 c# 代码中做,而不是在数据库级别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
相关资源
最近更新 更多