是否有UNION的替代方案可以从多个表中选择相同的列?

时间:2011-10-04 09:00:42

标签: sql-server-2008 syntax wildcard

我有4-5个表具有几乎相同的名称,我需要选择具有相同名称的列。到目前为止我正在这样做:

    SELECT colA, colB FROM Table1
    UNION
    SELECT colA, colB FROM Table2
    UNION
    etc...

如果您拥有多个类似的表并且想知道是否有任何替代语法,那么它似乎可能过于冗长。理想情况下,我喜欢通配符,比如

SELECT colA, colB FROM Table%

如果除UNION之外别无选择,为什么不呢?是否有特殊原因不允许这样做?我想这是因为SQL在表定义(表+列名,类型等)方面应该尽可能具体,同时允许数据操作的灵活性(因此我们有行的通配符)。

3 个答案:

答案 0 :(得分:2)

我无法想到。如果我是挑剔的,我会说,如果你有类似的数据表,你应该重新考虑你的数据库设计: - )

答案 1 :(得分:1)

数据库提供程序开发的UNION查询没有替代。

答案 2 :(得分:0)

您可以使用表别名。 例如:

select a.colA, b.colA, a.colB, b.colB
from table1 a