Создать новую таблицу из результатов запроса - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь создать новую таблицу из результатов запроса. Я пытался выберите, также попытались создать таблицу.

Я пытался выберите, также попытались создать таблицу.

Это мой оригинальный код, я пытаюсь создать новую таблицу из вывода этого кода с именем InitialJoinwithCPCL

select *
from [dbo].[Combined] as a
left join [dbo].[CPCL] as b
    on a.[StateAbbr] = b.[ST] and a.[CropName] = b.[CROPNAME]
where cropyear <> 2019 and (policynumber is not null) 
and (PolicyAcres <> 0) and (Policyliability <> 0 or PolicyAcres <= 0) and (Endorsement is null)

Я пытался это сделать, но получаю эту ошибку: «Неверный синтаксис рядом» ('.'

create table InitialJoinwithCPCL
as (select * 
from [dbo].[Combined] as a
left join [dbo].[CPCL] as b
    on a.[StateAbbr] = b.[ST] and a.[CropName] = b.[CROPNAME]
where cropyear <> 2019 and (policynumber is not null) 
and (PolicyAcres <> 0) and (Policyliability <> 0 or PolicyAcres <= 0) and (Endorsement is null));

Ответы [ 2 ]

1 голос
/ 03 мая 2019

SQL Server 2014 не поддерживает синтаксис CTAS .Вы можете использовать SELECT ... INTO вместо:

select *   -- * is antipattern and columns should be explicitly listed
into InitialJoinwithCPCL
from [dbo].[Combined] as a
left join [dbo].[CPCL] as b
    on a.[StateAbbr] = b.[ST] and a.[CropName] = b.[CROPNAME]
where cropyear <> 2019 and (policynumber is not null) 
and (PolicyAcres <> 0) and (Policyliability <> 0 or PolicyAcres <= 0) and (Endorsement is null)
0 голосов
/ 03 мая 2019

Вы должны сначала создать свою таблицу, а затем попытаться вставить в нее данные.попробуйте что-то вроде этого:

CREATE TABLE InitialJoinwithCPCL ( [Id] bigint, [Name] nvarchar(max), .... )
INSERT INTO InitialJoinwithCPCL
SELECT * 
FROM [dbo].[Combined] as a
LEFT JOIN [dbo].[CPCL] as b
on a.[StateAbbr] = b.[ST] and a.[CropName] = b.[CROPNAME]
WHERE cropyear <> 2019 and (policynumber is not null) 
AND (PolicyAcres <> 0) and (Policyliability <> 0 or PolicyAcres <= 0) AND 
(Endorsement is null)

убедитесь, что тип данных, указанный в операторе select, совпадает с таблицей, которую вы создадите.

...