好的,所以两个数据库是人和公司。
- 在Person.Pers_FirstName
中选择没有全部大写的联系人- 选择值为null的Company.Comp_companycode(未分配公司代码。)
我需要在Person.Pers_CompanyID = Company.Comp_CompanyID
上将它们连接在一起在我拥有之后,我需要能够看到结果,然后删除它们。我在结果中需要能够看到的字段是Person.Pers_FirstNAme和Person.Pers_LastName
这是我到目前为止所拥有的
Select * from Person where Pers_FirstName != upper(Pers_FirstName)
collate SQL_Latin1_General_CP1_CS_AS
into #TempTable1
select * from Company where comp_customernumber is null into #TempTable2
From #TempTable1, TempTable2
select #TempTable1.Pers_CompanyId, #TempTable2.Comp_CompanyId FROM dbo.#TempTable1
inner join dbo.#tempTable2 ON #TempTable1.Pers_CompanyID=#TempTable2.Comp_CompanyID
我的INTO命令同时出现错误。当然,第二块代码 引用#temptable1和#temptable2无法定位。
Select *
into #TempTable1
from Person
where Pers_FirstName != upper(Pers_FirstName)
collate SQL_Latin1_General_CP1_CS_AS
select *
into #TempTable2
from Company
where comp_customernumber is null
select Comp_CompanyId FROM #TempTable2
inner join dbo.#tempTable1 ON #TempTable1.Pers_CompanyID=#TempTable2.Comp_CompanyID
SQL没有看到我的#temptable1或#temptable2
答案 0 :(得分:1)
正确的语法是
SELECT * INTO #Temp FROM Table;
在你的情况下:
Select *
into #TempTable1
from Person
where Pers_FirstName != upper(Pers_FirstName)
collate SQL_Latin1_General_CP1_CS_AS
select *
into #TempTable2
from Company
where comp_customernumber is null
编辑:添加选择语句
select t1.Pers_CompanyId, t2.Comp_CompanyId
FROM #TempTable1 t1
inner join #tempTable2 t2
ON t1.Pers_CompanyID=t2.Comp_CompanyID
EDIT2:如何删除临时表
你需要在
之前运行它IF OBJECT_ID('tempdb.dbo.#tempTable2 ', 'U') IS NOT NULL
DROP TABLE #tempTable2
IF OBJECT_ID('tempdb.dbo.#tempTable1 ', 'U') IS NOT NULL
DROP TABLE #tempTable1