我有这个问题,有人可以帮帮我吗?谢谢。 按照我的代码。
CREATE TABLE #TEMP(
DocID Decimal(7,0),
Ano smallint,
nomefiscal varchar(50) COLLATE Latin1_General_CS_AS_WS,
morada varchar(100) COLLATE Latin1_General_CS_AS_WS,
cod_postal char(8) COLLATE Latin1_General_CS_AS_WS,
Localidade varchar(60) COLLATE Latin1_General_CS_AS_WS,
no_contribuinte char(20) COLLATE Latin1_General_CS_AS_WS,
telefone char(20) COLLATE Latin1_General_CS_AS_WS,
telemovel char(20) COLLATE Latin1_General_CS_AS_WS,
email varchar(60) COLLATE Latin1_General_CS_AS_WS,
metodo_envio varchar(30) COLLATE Latin1_General_CS_AS_WS,
id_site int,
NomeLojaDescarga varchar(60) COLLATE Latin1_General_CS_AS_WS,
MoradaDescarga varchar(150) COLLATE Latin1_General_CS_AS_WS,
CodigoPostalDescarga char(8) COLLATE Latin1_General_CS_AS_WS,
LocalidadeDescarga varchar(60) COLLATE Latin1_General_CS_AS_WS
)
INSERT INTO #TEMP (DocID, Ano, nomefiscal, morada, cod_postal, Localidade, no_contribuinte, telefone, telemovel, email, metodo_envio, id_site, NomeLojaDescarga, MoradaDescarga, CodigoPostalDescarga, LocalidadeDescarga)
select Mov.DocID,Mov.Ano, Cab.nomefiscal, Cab.morada, Cab.cod_postal,Cab.localidade,Cab.no_contribuinte,Cab.telefone,Cab.telemovel,Cab.email, metodo_envio, id_site,
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Nome_loja) > 2 THEN PkMe_Nome_loja WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_nome) > 2 THEN entrega_nome ELSE nomefiscal END AS 'NomeLojaDescarga',
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Morada) > 2 THEN PkMe_Morada WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_morada1) > 2 THEN RTRIM(entrega_morada1) + ',' + RTRIM(entrega_morada2) ELSE morada END AS 'MoradaDescarga',
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Cod_postal) > 2 THEN PkMe_Cod_postal WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_cp) > 2 THEN entrega_cp ELSE cod_postal END AS 'CodigoPostalDescarga',
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Cidade) > 2 THEN PkMe_Cidade WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_cidade) > 2 THEN entrega_cidade ELSE localidade END AS 'LocalidadeDescarga'
from [sofrapa].[dbo].[DOC_Mov] Mov
INNER JOIN
[sofrapa].[dbo].DOC_MovCompl Compl
ON Mov.DocID = Compl.DocID and Mov.Ano = Compl.Ano and Mov.AreaID = Compl.AreaID and Mov.Aplicacao = Compl.Aplicacao and Mov.TipoDocID = Compl.TipoDocID and Mov.TipoTerceiro = Compl.TipoTerceiro
INNER JOIN
[sofrapa].[dbo].[ENCOMENDAS_CAB_BACKUP] Cab ON Cab.id_site = Compl.NoDocEntid
WHERE Mov.AreaID = 300 and Mov.Ano = YEAR(GETDATE()) and Mov.Aplicacao= 'VND' and Mov.TipoTerceiro = 'C' and Mov.TerceiroID = 2369 and Mov.TipoDocID = 'F'
SELECT * FROM #TEMP
DROP TABLE #TEMP
我需要创建一个新表#temp并从新表中的另一个表中添加信息,但是我有这个错误。
答案 0 :(得分:0)
IF OBJECT_ID('tempdb.dbo.#temp') IS NOT NULL
DROP TABLE #temp
GO
SELECT Mov.DocID,Mov.Ano, Cab.nomefiscal, Cab.morada, Cab.cod_postal,Cab.localidade,Cab.no_contribuinte,Cab.telefone,Cab.telemovel,Cab.email, metodo_envio, id_site,
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Nome_loja) > 2 THEN PkMe_Nome_loja WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_nome) > 2 THEN entrega_nome ELSE nomefiscal END AS 'NomeLojaDescarga',
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Morada) > 2 THEN PkMe_Morada WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_morada1) > 2 THEN RTRIM(entrega_morada1) + ',' + RTRIM(entrega_morada2) ELSE morada END AS 'MoradaDescarga',
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Cod_postal) > 2 THEN PkMe_Cod_postal WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_cp) > 2 THEN entrega_cp ELSE cod_postal END AS 'CodigoPostalDescarga',
CASE WHEN metodo_envio = 'PickMe' AND LEN(PkMe_Cidade) > 2 THEN PkMe_Cidade WHEN metodo_envio IN ('Standard', 'Ilhas', 'Verificar no backoffice') AND LEN(entrega_cidade) > 2 THEN entrega_cidade ELSE localidade END AS 'LocalidadeDescarga'
INTO #temp
FROM [sofrapa].[dbo].[DOC_Mov] Mov
JOIN [sofrapa].[dbo].DOC_MovCompl Compl ON Mov.DocID = Compl.DocID and Mov.Ano = Compl.Ano and Mov.AreaID = Compl.AreaID and Mov.Aplicacao = Compl.Aplicacao and Mov.TipoDocID = Compl.TipoDocID and Mov.TipoTerceiro = Compl.TipoTerceiro
JOIN [sofrapa].[dbo].[ENCOMENDAS_CAB_BACKUP] Cab ON Cab.id_site = Compl.NoDocEntid
WHERE Mov.AreaID = 300 and Mov.Ano = YEAR(GETDATE()) and Mov.Aplicacao= 'VND' and Mov.TipoTerceiro = 'C' and Mov.TerceiroID = 2369 and Mov.TipoDocID = 'F'
SELECT * FROM #TEMP
尝试使用 - SELECT ... INTO ... FROM ...