Answers:
我提供了两种方法来解决同一问题,
解决方案1:此方法包括2个步骤,首先创建具有指定数据类型的临时表,然后从现有数据表中插入值。
CREATE TABLE #TempStudent(tempID int, tempName varchar(MAX) )
INSERT INTO #TempStudent(tempID, tempName) SELECT id, studName FROM students where id =1
SELECT * FROM #TempStudent
解决方案2:这种方法很简单,您可以将值直接插入到临时表中,在此情况下,系统会自动使用与原始表相同的数据类型来创建临时表。
SELECT id, studName INTO #TempStudent FROM students where id =1
SELECT * FROM #TempStudent
正确的查询:
drop table #tmp_table
select new_acc_no, count(new_acc_no) as count1
into #tmp_table
from table
where unit_id = '0007'
group by unit_id, new_acc_no
having count(new_acc_no) > 1
new_acc_no
,unit_id = '0007'
,group by
,having count(new_acc_no) > 1
,等变换的答案完全相同的副本:stackoverflow.com/a/15762663/1476885
INSERT INTO #TempTable(ID, Date, Name)
SELECT OtherID, OtherDate, OtherName FROM PhysicalTable
临时表的基本操作如下,根据您的要求进行修改和使用,
-创建一个临时表
CREATE TABLE #MyTempEmployeeTable(tempUserID varchar(MAX), tempUserName varchar(MAX) )
-将值插入到温度表中
INSERT INTO #MyTempEmployeeTable(tempUserID,tempUserName) SELECT userid,username FROM users where userid =21
-QUERY A TEMP TABLE [仅在同一会话/实例中有效,在其他用户会话实例中无效]
SELECT * FROM #MyTempEmployeeTable
-删除温度表中的值
DELETE FROM #MyTempEmployeeTable
-删除温度表
DROP TABLE #MyTempEmployeeTable