سؤال

أرغب في إنشاء جدول جديد في SQL Server مع الاستعلام التالي. أنا غير قادر على فهم سبب عدم عمل هذا الاستعلام.

Query1: الأعمال

SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2 

Query2: لا يعمل. خطأ: 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
)

شكرًا!

هل كانت مفيدة؟

المحلول

يجب عليك تحديد اسم مستعار جدول لجدول مشتق في خادم SQL:

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

"X" هو الاسم المستعار للجدول في هذا المثال.

نصائح أخرى

INSERT INTO #Temp1
SELECT val1, val2 
FROM TABLE1
 UNION
SELECT val1, val2
FROM TABLE2

يمكنك أيضًا المحاولة:

create table new_table as
select * from table1
union
select * from table2
select *
into new_table
from table_A
UNION
Select * 
From table_B

هذا يعمل فقط إذا كان لدى Table_A و Table_B نفس المخططات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top