【问题标题】:loading multiple sql datatables to a single datatable, all tables share one column将多个sql数据表加载到单个数据表中,所有表共享一列
【发布时间】:2012-09-19 12:20:07
【问题描述】:

我有以下 3 个共享唯一 id 列的数据表

table1 columns : [catalogid]  [name] [price]

table2 columns : [catalogid]  [stock]

table3 columns : [catalogid]  [minstock]

结果数据表应该看起来像

result datatable : [catalogid]  [name] [price] [stock] [minstock]

我尝试了Datatable.Merge 方法,但它不能正常工作,它没有将 3 个数据表的数据放在同一行。

我不知道该怎么做

【问题讨论】:

    标签: sql-server vb.net merge datatable dataset


    【解决方案1】:

    在一个查询中连接表是一种基于集合的操作数据库非常擅长为您做。如果您的数据源是类似 SQL 查询,

    SELECT
                    [t1].[catalogid]
                  , [t1].[name]
                  , [t1].[price]
                  , [t2].[stock]
                  , [t3].[minstock]
        FROM
                  [table1] [t1]
            LEFT JOIN
                  [table2] [t2]
                    ON [t2].[catalogid] = [t1].[catalogid]
            LEFT JOIN
                  [table3] [t3]
                    ON [t3].[catalogid] = [t1].[catalogid]
    

    服务器会在返回数据之前给你你想要的。

    【讨论】:

    • 但我将如何从我的 vb.net 应用程序中执行此操作,可能是 LINQ to SQL?
    • google 上有很多教程,但确切的正确答案取决于您正在编写的应用程序,并且是一个非常广泛的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2012-07-22
    • 1970-01-01
    相关资源
    最近更新 更多