我在数据库 1 中有 2 个表。表 1 包含永久银行列表 2。表 2 包含临时银行列表
我想将两个表中的所有银行加入DataTable
内存中的 AllBanks... 我只希望 SQL 语句将这些银行填充到内存中的 AllBanks 表中。
使用联合:
select *
from PermanentBanks
union
select *
from TemporaryBanks
要使用的 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