代码之家  ›  专栏  ›  技术社区  ›  Sekhar

使用联合查询选择

  •  32
  • Sekhar  · 技术社区  · 15 年前

    问题1:工程

    SELECT * FROM TABLE1
    UNION
    SELECT * FROM TABLE2 
    

    错误: Msg 170, Level 15, State 1, Line 7 Line 7: Incorrect syntax near ')'.

    SELECT * INTO [NEW_TABLE]
    FROM
    (
    SELECT * FROM TABLE1
    UNION
    SELECT * FROM TABLE2
    )
    

    谢谢!

    4 回复  |  直到 15 年前
        1
  •  80
  •   OMG Ponies    15 年前

    必须在SQL Server中为派生表定义表别名:

    SELECT x.* 
      INTO [NEW_TABLE]
      FROM (SELECT * FROM TABLE1
            UNION
            SELECT * FROM TABLE2) x
    

    “x”是本例中的表别名。

        2
  •  2
  •   Lorena Pita    7 年前
    INSERT INTO #Temp1
    SELECT val1, val2 
    FROM TABLE1
     UNION
    SELECT val1, val2
    FROM TABLE2
    
        3
  •  1
  •   Pablo Santa Cruz    15 年前

    您还可以尝试:

    create table new_table as
    select * from table1
    union
    select * from table2
    
        4
  •  1
  •   Jim    15 年前
    select *
    into new_table
    from table_A
    UNION
    Select * 
    From table_B
    

        5
  •  0
  •   lucazarts25    5 年前

    以下是SQL Server 2017的一种工作语法:

    USE [<yourdb-name>]
    GO
    
    SELECT * INTO NEWTABLE 
    FROM <table1-name>
    UNION ALL
    SELECT * FROM <table2-name>