【发布时间】:2013-05-02 15:45:50
【问题描述】:
我在数据库中有 2 个表 1. 表 1 包含永久银行列表 2. 表2为临时银行列表
我想将两个表中的所有银行加入内存中的DataTable AllBanks...
我只希望 SQL 语句将这些银行填充到内存中的 AllBanks 表中。
【问题讨论】:
我在数据库中有 2 个表 1. 表 1 包含永久银行列表 2. 表2为临时银行列表
我想将两个表中的所有银行加入内存中的DataTable AllBanks...
我只希望 SQL 语句将这些银行填充到内存中的 AllBanks 表中。
【问题讨论】:
要使用的 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 语句必须具有相同数量的列,以相同的顺序和相同的数据类型表示
【讨论】:
你可以考虑使用联合声明
类似:
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
【讨论】:
使用union:
select *
from PermanentBanks
union
select *
from TemporaryBanks
【讨论】: