如何从 SQL 中具有相同设计的多个表中获取数据
How to obtain data from multiple tables with same design in SQL
我对 SQL 比较陌生。对于 2015 年 1 月的每个日期,我有 tables emp010115
、emp020115
、emp030115
.... 最多 emp310115
[[table 的名称表示它所属的日期]。所有table的设计都是一样的。让前三个table中的数据如下
emp01012015
:
emp tds investmnt tdate arrears
------------------------------------------------------------------
abc_______50_________15000_________2015-01-01 00:00:00_______325
bca________0_________10000_________2015-01-01 00:00:00_______420
emp02012015
:
emp tds investmnt tdate arrears
------------------------------------------------------------------
abc______520_________16000_________2015-01-02 00:00:00_______600
bca_______20_________14000_________2015-01-02 00:00:00_______740
emp03012015
:
emp tds investmnt tdate arrears
------------------------------------------------------------------
abc______640_________11000_________2015-01-03 00:00:00_______850
bca______920_________13000_________2015-01-03 00:00:00_______650
我想要 table 上查询 运行 的结果如下
emp tds tdate
-------------------------------------
abc____________50_________2015-01-01 00:00:00
abc___________520_________2015-01-02 00:00:00
abc___________640_________2015-01-03 00:00:00
bca_____________0_________2015-01-01 00:00:00
bca____________20_________2015-01-02 00:00:00
bca___________920_________2015-01-03 00:00:00
谁能帮帮我...
您可能不应该像这样拆分 table,而应该将所有数据保存在同一个 table 中(除非有充分的理由),但是话虽如此,您可以做的是使用这样的 union all
查询:
select emp, tds, tdate from emp01012015
union all
select emp, tds, tdate from emp02012015
union all
select emp, tds, tdate from emp03012015
order by emp, tdate
这将创建一个包含所有数据的集合,然后您可以对其进行任何操作。不过,排序不会与您的示例完全相同。
我对 SQL 比较陌生。对于 2015 年 1 月的每个日期,我有 tables emp010115
、emp020115
、emp030115
.... 最多 emp310115
[[table 的名称表示它所属的日期]。所有table的设计都是一样的。让前三个table中的数据如下
emp01012015
:
emp tds investmnt tdate arrears
------------------------------------------------------------------
abc_______50_________15000_________2015-01-01 00:00:00_______325
bca________0_________10000_________2015-01-01 00:00:00_______420
emp02012015
:
emp tds investmnt tdate arrears
------------------------------------------------------------------
abc______520_________16000_________2015-01-02 00:00:00_______600
bca_______20_________14000_________2015-01-02 00:00:00_______740
emp03012015
:
emp tds investmnt tdate arrears
------------------------------------------------------------------
abc______640_________11000_________2015-01-03 00:00:00_______850
bca______920_________13000_________2015-01-03 00:00:00_______650
我想要 table 上查询 运行 的结果如下
emp tds tdate
-------------------------------------
abc____________50_________2015-01-01 00:00:00
abc___________520_________2015-01-02 00:00:00
abc___________640_________2015-01-03 00:00:00
bca_____________0_________2015-01-01 00:00:00
bca____________20_________2015-01-02 00:00:00
bca___________920_________2015-01-03 00:00:00
谁能帮帮我...
您可能不应该像这样拆分 table,而应该将所有数据保存在同一个 table 中(除非有充分的理由),但是话虽如此,您可以做的是使用这样的 union all
查询:
select emp, tds, tdate from emp01012015
union all
select emp, tds, tdate from emp02012015
union all
select emp, tds, tdate from emp03012015
order by emp, tdate
这将创建一个包含所有数据的集合,然后您可以对其进行任何操作。不过,排序不会与您的示例完全相同。