【问题标题】:Combine Data of 2 Tables into 1 DataTable in Memory in WinFormsWinForms内存中2个表的数据合并为1个DataTable
【发布时间】:2013-05-02 15:45:50
【问题描述】:

我在数据库中有 2 个表 1. 表 1 包含永久银行列表 2. 表2为临时银行列表

我想将两个表中的所有银行加入内存中的DataTable AllBanks... 我只希望 SQL 语句将这些银行填充到内存中的 AllBanks 表中。

【问题讨论】:

    标签: sql winforms datatable


    【解决方案1】:

    要使用的 SQL 运算符是 UNION,但您没有指定其他字段,所以我假设您只需要包含银行名称的字段

    SELECT PermanentName AS Bank from Table1
    UNION
    SELECT TemporaryName AS Bank from Table2
    

    您还可以添加一个预定义的值来区分两个输入表

    SELECT PermanentName AS Bank, 'P' as BankType from Table1
    UNION
    SELECT TemporaryName AS Bank, 'T' as BankType from Table2
    

    重要的是要记住,UNION 中的每个 SELECT 语句必须具有相同数量的列,以相同的顺序和相同的数据类型表示

    【讨论】:

      【解决方案2】:

      你可以考虑使用联合声明

      类似:

      select bank_id, bank_name, 'perm' bank_type
      from perm_banks
      union all 
      select bank_id, bank_name, 'temp' bank_type
      from temp_banks
      

      你也可以把它做成一个视图,这样它就像一张桌子一样工作

      类似:

      create view allbanks as 
      select bank_id, bank_name, 'perm' bank_type
      from perm_banks
      union all 
      select bank_id, bank_name, 'temp' bank_type
      from temp_banks
      

      【讨论】:

        【解决方案3】:

        使用union:

        select *
        from PermanentBanks
        union 
        select *
        from TemporaryBanks
        

        【讨论】:

        • 请注意,如果表格具有不同的结构或字段顺序,您需要明确列出字段以代替 *
        猜你喜欢
        • 2012-04-13
        • 1970-01-01
        • 2016-05-29
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多