2016-01-13 114 views
0

我試圖用查詢結果創建一個新表。我在SQL Server 2012中創建SQL Server表錯誤

CREATE TABLE [Service Contract Data].[dbo].[filtered_data] AS 
(
    SELECT * 
    FROM [Service Contract Data].[dbo].[New Data] 
    LEFT JOIN [Service Contract Data].[dbo].[OctMktSeg] ON [Service Contract Data].[dbo].[New Data].[Customer ID] = [Service Contract Data].[dbo].[OctMktSeg].[Account Number] 
    LEFT JOIN [Service Contract Data].[dbo].[tblMktSeg&MPI] ON [Service Contract Data].[dbo].[New Data].[Customer ID] = [Service Contract Data].[dbo].[tblMktSeg&MPI].[Customer ID1] 
    WHERE 
     (MKTSEG LIKE '%Repair%' OR MKTSEG LIKE 'Auto Glass' OR 
     MKTSEG LIKE 'IA - Individual' OR MKTSEG IS NULL) 
     AND (MPI LIKE 'N' OR MPI IS NULL) 
     AND [Item Category] LIKE '%Term' 
     AND [Month] >= '2015-01-01 00:00:00.000') 
    ; 

它不斷告訴我有「語法錯誤」附近首開括號工作,我不知道爲什麼。思考?

+0

是否有連接表重疊列在查詢中? –

+0

select語句是否自己正確執行? – Turophile

回答

1

我不知道這個語法在SQL SERVER中是否有效,你以前試過這個嗎? 這是爲了創建一個新的表有效語法:

SELECT 
-- SPECIFY THE NAME OF THE COLUMNS IN THE SELECT LIST, AVOID * 
* 
--INSERT DATA INTO NEW TABLE 
INTO [Service Contract Data].[dbo].[filtered_data] 
from [Service Contract Data].[dbo].[New Data] t1 
left join [Service Contract Data].[dbo].[OctMktSeg] t2 ON t1.[Customer ID] = t2.[Account Number] 
left join [Service Contract Data].[dbo].[tblMktSeg&MPI] t3 on t1.[Customer ID] = t3.[Customer ID1] 
WHERE (MKTSEG like '%Repair%' or MKTSEG like 'Auto Glass' or MKTSEG like 'IA - Individual' or MKTSEG is null) 
    and (MPI like 'N' or MPI is null) 
    and [Item Category] like '%Term' 
    and [Month] >= '2015-01-01 00:00:00.000' 
+0

這工作!謝謝 – Emma

1

它看起來像你錯過了一個開放的peren (之後你WHERE

WHERE ((MKTSEG like '%Repair%' or MKTSEG like 'Auto Glass' or MKTSEG like 'IA - Individual' or MKTSEG is null) 
and (MPI like 'N' or MPI is null) 
and [Item Category] like '%Term' 
and [Month] >= '2015-01-01 00:00:00.000') 
+0

查詢自己正確執行,所以我不認爲這是選擇查詢的問題 – Emma