我想从很多表中选择一个2列。
例子
ng-model
等...
我的查询将是
Table_2017-01
id name value
Table_2017-02
id name value
Table_2017-03
id name value
但我想知道是否有可能像
SELECT name, value
FROM Table_2017-01, Table_2017-02, Table_2017-03
我知道这最后一个查询是不可能的,如果对这个问题存在查询,对我来说可能会更容易,因为我可以有很多表只有一部分名称不同。
答案 0 :(得分:0)
要选择具有相同名称的多列,您必须将该表作为前缀,如:
SELECT `Table_2017-01.name`, `Table_2017-02.name`, `Table_2017-03.name` FROM Table_2017-01,`Table_2017-02, Table_2017-03
如果您希望将它们放在一个列中,请使用Union
。
(SELECT `Table_2017-01.name` from Table_2017-01)
Union
(SELECT `Table_2017-02.name` from Table_2017-02)
答案 1 :(得分:0)
这取决于您的数据库。甲骨文f.e.有一个包含所有表的数据字典。 因为我比其他人更了解oracle,所以我使用它作为例子:
SELECT TABLE_NAME FROM ALL_TABLES WHERE TABLE_NAME LIKE 'Table_2017-%';
现在我有时会使用以下方法:
我构建了一个选择列表并将它们激活到数据库中:
通过SQL
选择 '选择'' || TABLE_NAME ||''' TABLE_NAME,NAME,VALUE FROM' || TABLE_NAME ||' UNION' FROM ALL_TABLES TABLE_NAME LIKE' Table_2017 - %';
现在您可以将结果复制到您的数据库中(别忘了删除最后一个" UNION")
但请注意:它快速而且脏,列名和类型必须匹配。